草庐IT

Junit-Tests

全部标签

java - 在同一个构建中执行 JUnit 4 和 JUnit 5 测试

在Maven项目中,我有一些现有的测试依赖于JUnit4。由于多种原因,我无法在JUnit5中迁移这些测试。本质上,一些测试依赖于使用JUnit4运行器的库,代码迁移可能需要一些时间。我同样希望使用现已发布并提供新的有趣功能的JUnit5创建新的测试类。该怎么做? 最佳答案 JUnit5提供awayoutofthebox.JUnit5=JUnitPlatform+JUnitJupiter+JUnitVintage每一个都是一个不同的项目,使用它们可以在同一个项目中编译和执行JUnit4和JUnit5测试。JUnitJupiteris

java - 在测试之间传递 JUnit 数据

我刚刚在创建一些CRUD测试时发现,您无法在一个测试中设置数据并让它在另一个测试中读取(数据在每次测试之间设置回其初始化)。我要做的就是(C)用一个测试创建一个对象,然后(R)用下一个测试读取它。JUnit是否有办法做到这一点,或者它是否在意识形态上进行了编码,使得测试不允许相互依赖? 最佳答案 嗯,对于单元测试,您的目标应该是测试最小的独立代码片段,通常是逐个方法。所以testCreate()是一个测试用例,而testRead()是另一个。但是,没有什么可以阻止您创建一个testCreateAndRead()来一起测试这两个函数。

java - ant junit 任务不报告详细信息

我尝试用JUnit测试编写一个Ant,但得到以下结果:unittest:[junit]Runningcom.mytest.utiltest[junit]Testsrun:1,Failures:0,Errors:1,Timeelapsed:0sec[junit]Testcom.mytest.utiltestFAILED它只是显示错误而没有打印详细信息,我在build.xml中指定以下参数也尝试从ant-v或ant-debug开始,但没有得到任何运气。有人可以帮忙吗?ant1.8.2、sunjdk1.6.0_20、junit4.8.2为了缩小问题范围,我创建了一个单独的项目这是我的buil

java - junit-jupiter-api 和 junit-jupiter-engine 的区别

maven模块junit-jupiter-api和junit-jupiter-engine有什么区别?是否需要在build.gradle中同时包含这两个依赖项?我需要同时提供这两个依赖项吗?testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")或者只有一个依赖就足够了?testCompile("org.junit.jupiter:junit-jupiter-engine:$

java - Junit - 多个 @Before 与一个 @Before 拆分为方法

在单元测试中,我需要执行一个相当复杂的设置(这可能是代码异味,但这不是这个问题的主题:-))。我感兴趣的是,是让多个@Before方法执行设置更好,还是只有一个方法更好,它调用辅助方法来执行初始化。例如@BeforepublicvoidsetUpClientStub(){}@BeforepublicvoidsetUpObjectUnderTest(){}对比@BeforepublicvoidsetUp(){setUpClientStub();setUpObjectUnderTest();} 最佳答案 正如在其他回复中所说,JUnit

java - 如何使用 JUnit、EasyMock 或 PowerMock 模拟静态最终变量

我想模拟一个静态最终变量以及使用JUnit、EasyMock或PowerMock模拟一个i18n类。我该怎么做? 最佳答案 有没有像mocking这样的变量?我会称之为重新分配。我认为EasyMock或PowerMock不会为您提供重新分配staticfinal字段的简单方法(这听起来像是一个奇怪的用例)。如果你想这样做,你的设计可能有问题:如果你知道一个变量可能有另一个值,即使是为了测试目的,也要避免使用staticfinal(或更常见的全局常量)。无论如何,您可以使用反射来实现(来自:Usingreflectiontochang

java - 使用 junit @Rule、expectCause() 和 hamcrest 匹配器

我有一个测试:@RulepublicExpectedExceptionthrown=ExpectedException.none();...@TestpublicvoidtestMethod(){finalStringerror="errormessage";ThrowableexpectedCause=newIllegalStateException(error);thrown.expectCause(org.hamcrest.Matchers.equalTo(expectedCause));someServiceThatTrowsException.foo();}当通过mvn测试方

java - !!!预计 JUnit 版本 3.8 或更高版本

这个问题在这里已经有了答案:IntelliJIDEAwithJunit4.7"!!!JUnitversion3.8orlaterexpected:"(26个回答)关闭5年前。我的AndroidStudio项目有一个依赖于android框架的app模块,我创建了一个名为domain的新模块,它只包含纯java类和一些测试类。在这个模块的build.gradle文件中,我添加了junit和mockito库用于测试目的如下:applyplugin:'java'sourceCompatibility=1.7targetCompatibility=1.7dependencies{testComp

java - 使用 JUnit 4 注释测试多个异常

是否可以在单个JUnit单元测试中测试多个异常?我知道一个可以使用的异常(exception),例如@Test(expected=IllegalStateException.class)现在,如果我想测试另一个异常(比如NullPointerException),可以在同一个注解中完成,还是在不同的注解中完成,还是我需要完全编写另一个单元测试? 最佳答案 你真的希望测试做一件事,并为此进行测试。如果您不确定要抛出哪个异常,那听起来对我来说不是一个好的测试。例如(伪代码)try{badOperation();///lookslikew

java - 在eclipse中找不到作为junit测试运行

我像这样在Eclipse中创建了一个测试类@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContext.xml"})@TransactionConfiguration@TransactionalpublicclassTeamTestextendsAbstractTransactionalJUnit4SpringContextTests{@TestpublicvoidtestCreate(){assert(true);}}但是,当我右键单击该文件时