Tag: junit4

JUnit @AfterClass运行时添加到一个糟糕的测试用例:(

关于每个测试运行的运行时间,我面临轻微的JUnit不便。 我有一个@AfterClass注释,运行的最后一个测试将把它的运行时添加到它。 因此,报告将错误地显示最后运行的不良测试的长时间运行时间。 有没有办法从上次测试中排除其运行时间?

junit assertEquals忽略大小写

我只是从c# – > java移动。 我需要使用junit编写一些测试。 在我的测试中,我需要比较两个字符串,看看它们是否匹配。 所以我们也有Assert.assertEquals,但这是区分大小写的。 我怎样才能使它不区分大小写? 我需要的是: “blabla”.equals(“BlabLA”) 返回真实。 所以在C#中,我们曾经有: public static void AreEqual ( string expected, string actual, bool ignoreCase, string message ) 我很快就通过Junit文档,但我似乎无法找到这样的东西。

JUnit – 如何测试具有不同值的方法?

我有一个方法,并希望用不同的值测试它。 我的问题是:如何编写一个JUnit测试,用不同的值测试相同的方法?

如果抛出JUnit ExpectedException后如何继续测试?

我已经使用ExpectedExceptionfunction设置了一些JUnit(4.12)测试,我希望测试在预期的exception之后继续。 但我从来没有看到日志’3’,因为执行似乎在exception后停止,如果捕获事件? 这实际上是可能的,怎么样? @Rule public ExpectedException exception = ExpectedException.none(); @Test public void testUserAlreadyExists() throws Exception { log.info(“1”); // Create some users userService.createUser(“toto1”); userService.createUser(“toto2”); userService.createUser(“toto3”); Assert.assertTrue( userService.userExists(“toto1”) ); Assert.assertTrue( userService.userExists(“toto2”) ); Assert.assertTrue( userService.userExists(“toto3”) ); log.info(“2”); // Try to create an existing user exception.expect(AlreadyExistsException.class); userService.createUser(“toto1”); log.info(“3”); }

Mockito:当调用方法Aa时,执行Bb

我正在使用Mockito进行JUnit测试。 所以从我想要测试的代码中使用给定的A类: class A{ public A(){} public final String a(String x){ return “Aa: ” + x; } } 我想用另一个方法调用替换方法调用Aa与相同的参数和相同类型的返回值。 正如您所看到的,不可能通过扩展类来覆盖方法a,因为它是最终的。 所以我现在拥有的另一个B类方法是Bb: class B{ public B(){} public String b(String x){ return “Bb: ” + x; } } 现在我想确保每次从代码中调用Aa时,都会使用Bb的返回值。 是否有可能通过Mockito实现这一点(类似于Mockito.when(Aa(x)).thenReturn(Bb(x)); )但是使用相同的参数x,却不知道x的值? 任何帮助将不胜感激,谢谢你提前!

java.lang.NoClassDefFoundError:Intellij中的org / hamcrest / SelfDescribing

我使用了Intellij Idea 12社区版。 我试图通过创建测试用例为我的类创建测试用例。 当我运行我的测试用例时,它说 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:44) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at […]

JUnit 4.11在@After中获得测试结果

有没有办法可以在拆解( @After )方法中获得测试结果? 我希望在测试后根据结果进行清理。 在junit docs中找不到关于@After更多细节。

使用JUnit类别与简单地在单独的类中组织测试

我有两个逻辑类别的测试:简单的functionunit testing(通过/失败)和基准性能测试,仅用于度量/诊断。 目前,我在一个类中有所有测试方法,称之为MyTests : public class MyTests { @Test public void testUnit1() { … assertTrue(someBool); } @Test public void testUnit2() { … assertFalse(someBool); } @Test @Category(PerformanceTest.class) public void bmrkPerfTest1() { … } @Test @Category(PerformanceTest.class) public void bmrkPerfTest2() { … } } 然后我将UnitTestSuite定义为 @RunWith(Categories.class) @Categories.ExcludeCategory(PerformanceTest.class) @SuiteClasses({ MyTests.class }) public class UnitTestSuite {} 和PerformanceTestSuite @RunWith(Categories.class) @Categories.IncludeCategory(PerformanceTest.class) @SuiteClasses({ […]

如何从代码中运行整个JUnit Test Suite

在eclipse中,使用JUnit 4,您可以右键单击项目或包,然后单击Run as JUnit Test,它将运行该分组中的所有JUnit测试。 有没有办法在代码中做同样的事情?

测试调用:如何设置所有测试套件的通用

有没有办法在JUnit 4测试类中知道,如果Class是由Test-Suite发起的? 我想在所有测试之前运行全局的东西(关于内存数据库),所以我认为在测试套装中这样做。 但是,我仍然希望能够在没有测试套件的情况下一次启动一个测试,所以我需要知道是否需要在测试的@Before部分初始化全局事物…是否有人知道如果它是可能的 ?