对于客户,我们需要为集成testing生成详细的testing报告,这不仅表明一切都是绿色的,而且testing也是如此。 我的同事和我是懒惰的人,我们不想破解电子表格或文本文件。 为此,我想了一种方法来logging在每个@Test注释方法和每个testing类上使用JavaDoc注释的更复杂的集成testing。 对于testing人员来说,查看哪个要求,Jira门票或testing链接到什么以及testing实际要做什么是一个很好的帮助。 我们也想把这个信息提供给我们的客户。 现在最大的问题是:我们如何才能将每个方法和每个testing类的JavaDoc放入JUnit报告中? 我们使用JUnit 4.9和Maven。 我知道,每个assertXXX()都有一个描述,但是我们确实需要一个好的HTML列表作为结果,或者是一个PDF文档,其中列出了所有的类和文档,下面是所有的@Test方法及其描述,testing时间,结果如果失败了,原因何在。 还是有另一种select生成奇特的testing脚本? (或者我们应该启动一个OpenSource项目!);-)) 更新:我问另一个关于如何添加一个RunListener到Eclipse的问题,让它也在Eclipse中报告时,开始在那里。 使用自定义TestRunnerbuild议的解决scheme是另一种可能的testing结果报告。 看看: 我如何在Eclipse中使用JUnit RunListener?
我没有问题testing我的DAO和服务,但是当我testingINSERT或UPDATE我想回滚事务,而不是影响我的数据库。 我在我的服务中使用@Transactional来pipe理事务。 我想知道,是否有可能知道一个事务是否可以正常工作,但是为了防止改变数据库而回滚它? 这是我的testing: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:/META-INF/spring.cfg.xml") @TransactionConfiguration(defaultRollback=true) public class MyServiceTest extends AbstractJUnit38SpringContextTests { @Autowired private MyService myService; @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Test public void testInsert(){ long id = myService.addPerson( "JUNIT" ); assertNotNull( id ); if( id < 1 ){ […]
我有一个如下所示的代码: Class A { public boolean myMethod(someargs) { MyQueryClass query = new MyQueryClass(); Long id = query.getNextId(); // some more code } } Class MyQueryClass { …. public Long getNextId() { //lot of DB code, execute some DB query return id; } } 现在我正在写一个A.myMethod(someargs)的testing。 我想跳过真正的方法query.getNextId() ,而是返回一个存根值。 基本上,我想嘲笑MyQueryClass 。 所以在我的testing案例中,我使用了: MyQueryClass query = PowerMockito.mock(MyQueryClass.class); PowerMockito.whenNew(MyQueryClass.class).withNoArguments().thenReturn(query); when(query.getNextId()).thenReturn(1000000L); […]
我有以下代码: @BeforeClass public static void setUpOnce() throws InterruptedException { fail("LOL"); } 和其他各种方法,无论是@Before,@After,@ Test或@AfterClass方法。 testing在启动时不会失败,因为它看起来应该是这样。 有人能帮助我吗? 我有JUnit 4.5 该方法在立即调用setUp()(注释为@before)时失败。 Class def是: public class myTests extends TestCase {
这应该是一个非常简单的问题,我相信。 但不知何故,我无法在Google中find答案。 假设我有2个string列表。 首先包含“stringA”和“stringB” ,第二个包含“stringB”和“stringA” (注意差异顺序)。 我想用JUnit来testing它们是否包含完全相同的string。 是否有任何断言忽略顺序的string的平等检查? 对于给定的例子org.junit.Assert.assertEquals抛出AssertionError java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]> 解决办法是首先对列表进行sorting,然后将它们传递给断言。 但是我希望我的代码尽可能简单和干净。 我使用Hamcrest 1.3 , JUnit 4.11 , Mockito 1.9.5 。
我有以下的testing课 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"/services-test-config.xml"}) public class MySericeTest { @Autowired MyService service; … } 是否有可能通过编程方式访问services-test-config.xml中的某个方法? 喜欢: ApplicationContext ctx = somehowGetContext();
熟悉Java,但不熟悉IntelliJ,如何与JUnit集成“开始”? 灵感来自于寻找关于使用JUnit和Intellij IDEA 9.x的教程,这些教程没有回答我的问题,并且是针对IntelliJ的老版本。
我正在开发一个Spring MVC项目,并对源代码树中的所有组件进行了unit testing。 例如,如果我有一个控制器HomeController ,需要注入一个LoginService ,那么在我的unit testingHomeControllerTest我只是简单地实例化对象(在Spring之外)并注入属性: protected void setUp() throws Exception { super.setUp(); //… controller = new HomeController(); controller.setLoginService( new SimpleLoginService() ); //… } 这对于testing每个组件作为一个单独的单元非常适用 – 除了现在我有几十个类在项目中,写了一个类并写了一个成功的unit testing之后,我一直忘记更新我的Spring MVC上下文文件部署应用程序中的实际接线。 我发现当我将项目部署到Tomcat并从非接线的bean中find一堆NullPointers时,我忘了更新上下文文件。 所以,这是我的问题: 这是我的第一个Spring项目 – 正如我所做的为单个bean创buildunit testing是正常的,然后创build第二套testing(集成testing)来testing一切与实际应用程序上下文的预期一致吗? 有没有一个确定的最佳实践呢? 另外,如何将unit testing和集成testing分开? 我有所有的源代码在src ,unit testing在test – 应该有第二个testing文件夹(如test-integration )集成testing用例? 既然这是我的第一个春季项目,我很好奇别人通常会怎么做这样的事情 – 而不是重新发明轮子,而是问问其余的社区。
我是junittesting的新手。 任何人都可以帮助我,如何testing我的SQLiteOpenHelper类。 意思是我必须实现什么类,以及如何testing我的数据库和表。 我正在使用Eclipse IDE。
我试图编写一些testing使用内置的Android Junittesting框架。 我遇到了一个testing问题,我期待抛出一个exception。 在JUnit中,testing方法的注释是: @Test(expected = ArithmeticException.class) 但是,在android中,这个testing失败并出现ArithmeticException。 我明白,Android实现只是JUnit 3的一个子集,甚至不允许注解@Test(必须是@SmallTest,@MediumTest或@LargeTest,而且这些参数都不允许使用'expected = ..'参数) ,但这似乎是一个相当重要的testing,似乎像androidtesting框架将严重缺乏,如果它没有这个function。 注意:我通过将JUnit jar添加到项目并添加注释到我的testing方法来testing。 这对我来说是有道理的,为什么注释会被完全忽略,因为android框架(runner?)没有查找那个注释,只是忽略它。 基本上我只是在框架内寻找“正确”的方式来做到这一点。