Questions tagged «junit»

流行的Java和Scala单元测试框架。最新版本的JUnit 5支持基于注释的丰富测试和参数化测试。考虑与Java或Scala标记结合使用以指示您的用例。

4
setUp()和setUpBeforeClass()之间的区别
使用JUnit进行单元测试时,有两种相似的方法setUp()和setUpBeforeClass()。这些方法有什么区别?另外,tearDown()和之间有什么区别tearDownAfterClass()? 这是签名: @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { }
159 java  junit 

6
在JUnit断言中比较数组,简洁的内置方式?
在JUnit中是否有一种简洁的内置方法对两个相似类型的数组进行相等声明?默认情况下(至少在JUnit 4中),它似乎对数组对象本身进行了实例比较。 EG,不起作用: int[] expectedResult = new int[] { 116800, 116800 }; int[] result = new GraphixMask().sortedAreas(rectangles); assertEquals(expectedResult, result); 当然,我可以手动执行以下操作: assertEquals(expectedResult.length, result.length); for (int i = 0; i < expectedResult.length; i++) assertEquals("mismatch at " + i, expectedResult[i], result[i]); ..但是还有更好的方法吗?
159 java  arrays  junit  assertions 

7
为什么我应该使用Hamcrest-Matcher和assertThat()而不是传统的assertXXX()-方法
当我查看Assert类JavaDoc中的示例时 assertThat("Help! Integers don't work", 0, is(1)); // fails: // failure message: // Help! Integers don't work // expected: is <1> // got value: <0> assertThat("Zero is one", 0, is(not(1))) // passes 可以说,我看不出有什么大的优势assertEquals( 0, 1 )。 如果结构变得更复杂,但是对于消息,这很好,但是您看到更多的优势了吗?可读性?
153 java  testing  junit  junit4  hamcrest 

5
JUnit困惑:使用“扩展TestCase”还是“ @Test”?
我发现JUnit的正确使用(或至少是文档)非常令人困惑。这个问题既可以作为将来的参考,也可以作为真实的问题。 如果我理解正确,那么可以使用两种主要方法来创建和运行JUnit测试: 方法A(JUnit 3样式):创建一个扩展TestCase的类,并使用单词启动测试方法test。当将类作为JUnit测试运行(在Eclipse中)时,所有以单词开头的方法都会test自动运行。 import junit.framework.TestCase; public class DummyTestA extends TestCase { public void testSum() { int a = 5; int b = 10; int result = a + b; assertEquals(15, result); } } 方法B(JUnit 4样式):创建一个“普通”类,并@Test在方法前添加注释。请注意,您不必以单词开头的方法test。 import org.junit.*; import static org.junit.Assert.*; public class DummyTestB { @Test public void Sum() { …



4
Mockito的argumentsCaptor示例
任何人都可以给我提供一个示例,说明如何使用org.mockito.ArgumentCaptor该类以及该类与Mockito附带的简单匹配器有何不同。 我阅读了提供的Mockito文档,但这些文档没有清楚说明,没有一个能够清晰地解释它。

1
Java使用Mockito验证void方法调用n次
我试图验证在DAO中是否正在调用(void)方法-我正在使用提交点,该发送点发送直到该点的结果列表,重置列表并继续。假设我在列表中有4件事,并且我的提交点为1,我希望“发送”方法被调用4次。我可以通过编写来验证该方法是否被调用过一次 Mockito.verify(mock).send() 它通过了..但是我想验证它被调用的次数。我认为 Mockito.verify(mock.send(), times(4)) 就足够了,但是它说参数对于验证不正确。 顺便说一句,如果我更改 Mockito.verify(mock).send()为 Mockito.verify(mock.send())或 Mockito.verify((mock).send())得到相同的错误。有这个想法吗?




30
错误:(23,17)无法解决:junit:junit:4.12
为什么每次我在Android Studio中创建一个新项目时,总会出现以下问题: 错误:(23,17)无法解决:junit:junit:4.12? 当我删除testCompile 'junit:junit:4.12'依赖项时,这不再是问题。 build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.okedroid.myapplication" minSdkVersion 17 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile …

6
Junit @ Before / @ After叫什么顺序?
我有一个集成测试套件。我有一IntegrationTestBase堂课可以扩展我的所有测试。该基类具有@Before(public void setUp())和@After(public void tearDown())方法来建立API和数据库连接。我一直在做的只是在每个测试用例中覆盖这两个方法,并调用super.setUp()和super.tearDown()。但是,如果有人忘记了调用super或将它们放置在错误的位置并抛出异常,而他们却忘记了在final之类的地方调用super,则会导致问题。 我想做的是在基类上创建setUp和tearDown方法final,然后仅添加我们自己的注释@Before和@After方法。在进行一些初始测试时,似乎总是按以下顺序调用: Base @Before Test @Before Test Test @After Base @After 但我只是有点担心订单不能得到保证,并且可能导致问题。我环顾四周,没有看到任何关于此的内容。有谁知道我能做到而没有任何问题吗? 码: public class IntegrationTestBase { @Before public final void setUp() { *always called 1st?* } @After public final void tearDown() { *always called last?* } } public class MyTest extends IntegrationTestBase { @Before public …

11
为什么要使用JUnit进行测试?
也许我的问题是新手,但是我无法真正理解在什么情况下使用 unit? 无论是编写简单的应用程序还是大型应用程序,我都使用System.out语句对其进行测试,这对我来说很容易。 如果仍然需要调用相同的方法,检查它们返回的内容,然后注释所有内容,那么为什么还要使用JUnit创建测试类,在项目中创建不必要的文件夹呢? 为什么不编写一个类并立即对其进行System.out测试却不创建Test-class? PS。我从未在刚刚学习的大型项目中工作过。 那么目的是什么?
131 java  unit-testing  junit  tdd 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.