mock da classe scanner
boa noite galera,<br /><br />não estou conseguindo mockar a classe scanner do java.<br /><br />como ela é uma classe final estou usando o powermock. ao rodar o teste ele cria uma instância da classe
<p>o problema é que o preparefortest deve ser para a classe que vai ser manipulada, que no caso é a teste, e não a scanner.</p>
<p>o seguinte teste funcionou perfeitamente (e deu erro quando gravo a expectativa errada, o que é sempre um bom teste do teste :-) ) :</p>
<p>&#64;runwith(powermockrunner.class)
&#64;preparefortest({ teste.class })
public class testetest {</p>
<p> &#64;injectmocks
 private teste teste;</p>
<p> &#64;mock
 private scanner scanner;</p>
<p> &#64;test
 public void shouldstart() throws exception {
 mockito.when(scanner.hasnext()).thenreturn(true);
 boolean resultado &#61; scanner.hasnext();</p>
<p> assertthat(resultado, is(true));
 }</p>
<p>}</p>
Acho que vai depender de que tipo de testes que você está planejando fazer. você estará usando a integração contínua. É a execução de testes em aparelhos uma obrigação.


Se os testes são mais testes / processamento de dados lógica, o que você pode fazer muito bem com JUnit. Mas se você precisa usar algumas classes de javax.microedition. *, Então as coisas vão se tornar um pouco complicado, mas não impossível.


Alguns exemplos: um teste para a disposição do texto na tela, que seria necessário javax.microedition.lcdui.Font. Você não pode simplesmente caixote uma classe fonte usando frascos fornecidos com o WTK, porque na inicialização será chamar alguns métodos nativos, que não estão disponíveis.


Para este tipo de testes que eu criei uma implementação toco de J2ME. Basicamente estas são minha própria interpretação das classes J2ME. Eu posso definir alguns pré-requisitos lá (por exemplo, cada personagem é de 5 pixels de largura, etc). E que está trabalhando realmente grande, porque o meu teste só precisa saber, como as classes J2ME responder, não como elas são implementadas internamente.


Para os testes de rede que tenho usado [de MicroEmulator](http://www.microemu.org/index.html) implementação de rede, e também tem funcionado bem.


Mais um problema com testes de unidade - é melhor ter seus projetos móveis como um projeto java usando Java 4.5.6, porque teste de escrita em 1,3 é, em leas para mim, uma dor no ...


Eu acredito, que começando com JUnit vai ficar bem, para se levantar e correr. E se alguns outros requisitos vir para cima (a execução de testes em aparelhos), então você pode explorar alternativas. <p>usando <a href="http://ruby-doc.org/core-1.9.3/string.html#method-i-scan"><code>scan</code></a> deve fazer o truque:</p><pre><code>string.scan(/regex/) </code></pre> Você tem o modo clojure instalado? Tente `M-x
install-package` se não e então execute
`cider-jack-in` . fala pedro, beleza?cara, pelo que entendi você criou duas funções main, uma dentro da outra.sugiro que você faça o seguinte:[code=csharp]#include <stdio.h>#include <math.h>int main... Esta é a minha opinião, mas; assim como as classes de caso do, eu gostaria implementar um `copy`método de tipos na classe para fazer a modificação possível, mantendo a imutabilidade, mas existe alguns casos que eu não posso ajudar a tê-lo mutável; por exemplo, quando se espera algo para tornar a operação de cópia muito grande e lento para a classe; como quando a classe tem tantos membros freqüentemente modificados. E não se preocupe com milhares de casos flutuando na memória, porque eles são automaticamente GC'ed, então o problema mais real é o custo do tempo de copiar as instâncias da classe. Por favor, diga-me se minha opinião é de alguma forma errada :) em primeiro lugar, para um motor não devias usar nenhuma dessas opções… eles quase sempre têm contactores e o correcto é usares o sonoff ou equivalente para activares o contactor e não o motor directamente… isso leva a que não consigas medir… podes usar um sonoff basic com um pzem,por exemplo… usas … amigo tente fazer com a opção de papel custom, para enjetar faça manualmente.... <p>posso ver sua classe de usuário? isso é apenas usando as restrições abaixo. não vejo por que as restrições seriam realmente diferentes de exemplos (acho que os campos nulos são ignorados por padrão nos exemplos).</p><pre><code>getcurrentsession().createcriteria(user.class) .setprojection( projections.distinct( projections.projectionlist() .add( projections.property("name"), "name") .add( projections.property("city"), "city"))) .add( restrictions.eq("city", "test"))) .setresulttransformer(transformers.aliastobean(user.class)) .list(); </code></pre><p>eu nunca usei o alaisttobean, mas acabei de ler sobre isso. você também pode passar por cima dos resultados.</p><pre><code>list&lt;object&gt; rows = criteria.list(); for(object r: rows){ object[] row = (object[]) r; type t = ((&lt;type&gt;) row[0]); } </code></pre><p>se precisar, você pode preencher manualmente o usuário dessa maneira.</p><p>é difícil analisar o problema sem mais algumas informações para diagnosticar o problema.</p> <p>um runspace é uma instância específica do powershell que contém coleções modifiable de comandos, provedores, variáveis, funções e elementos de linguagem que estão disponíveis para o usuário da linha de comando (ou mais genericamente, para o aplicativo "host").</p><p>de um modo geral, os runspaces são um <em> desenvolvedor</em> tópico. se você estiver na linha de comando, só poderá modificá-los modificando sua <strong> sessão </strong>, e se você for um usuário típico de linha de comando, você nem mesmo estará ciente das sessões, exceto quando as usar para se conectar remotamente a outro computador. no entanto, cada sessão tem um associado <a href="http://msdn.microsoft.com/en-us/library/system.management.automation.runspaces.runspace.aspx">runspace</a> (ou <a href="http://msdn.microsoft.com/en-us/library/system.management.automation.runspaces.runspacepool.aspx">runspacepool</a> ) que controla o que está disponível para você, e é possível criar espaços de execução "restritos" para fornecer apenas aos usuários acesso a certos comandos e não a outros ....</p><p>no powershell 2.0, você usa a classe <a href="http://msdn.microsoft.com/en-us/library/system.management.automation.runspaces.runspacefactory.aspx">runspacefactory</a> para criar runspaces ou runspacepool. você pode ler <a href="http://msdn.microsoft.com/en-us/library/ms714459.aspx">mais sobre runspaces no msdn</a> </p> opa. que bacana. seja bem-vindo no mundo sem limites da tecnologia hahaha.como iniciante, recomendo que faça os cursos introdutórios aqui da devmedia.>>javascript>>java>>python...