草庐IT

Junit-Tests

全部标签

java - JUnit4 是否开始支持测试排序?是故意的吗?

JUnit(实际上是JUnit4)的新手,遇到了执行测试的套件方式@RunWith(Suite.class)@Suite.SuiteClasses({CreateNewProfile.class,EditProfile.class,})publicclassProfileTestSuite{}这是我在浏览新雇主的测试代码库时遇到的代码示例。在执行期间,我资助-首先执行CreateNewProfile测试,然后执行EditProfile,这确实有道理,但随后它引入了测试之间的依赖性。几个月来我一直在关注非依赖测试机制(尽管我过去使用的是TestNG而不是JUnit)并且希望EditPro

Java JUnit assertEquals 与 Long

assertEquals(newLong(42681241600),newLong(42681241600));我尝试检查两个长数字但是当我尝试编译它时我得到了integernumbertoolarge:42681241600错误。文档显示有一个Long,LongassertEquals方法,但它没有被调用。 最佳答案 你想要:assertEquals(42681241600L,42681241600L);您的代码正在调用assertEquals(Object,Object)。您还需要在数字末尾附加“L”字符,以告诉Java编译器该

java - 选择执行 JUnit 测试的顺序

我想选择执行JUnit测试的顺序。我有4个类,其中有几个测试方法,我的目标是执行,例如,类A的方法Y,然后是类B的方法X,最后是类A的方法Z。你能帮忙吗? 最佳答案 从4.11版开始,您可以使用注释指定执行顺序并按方法名称排序:importorg.junit.Test;importorg.junit.FixMethodOrder;importorg.junit.runners.MethodSorters;@FixMethodOrder(MethodSorters.NAME_ASCENDING)publicclassMyTest{@T

java - 使用 JUnit4 进行测试时,Spring @transactional 不会启动事务

我有以下配置。org.hibernate.dialect.SQLServerDialecttruetrueorg.hibernate.dialect.SQLServerDialectfalsefalsetruetrue然后,当我运行具有插入语句的测试时,它们会产生这样的错误消息:javax.persistence.TransactionRequiredException:Executinganupdate/deletequeryatorg.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:47)经过深思熟虑,我尝试了这个:@Run

java - 嵌入式 Cassandra : Cannot run unit tests

我正在使用EmbeddedCassandraServerHelper执行单元测试。这是我的pomorg.apache.nifinifi-api1.4.0org.apache.nifinifi-utils1.4.0org.apache.nifinifi-mock1.4.0testorg.slf4jslf4j-simple1.7.25testjunitjunit4.8.2testcom.jcraftjsch0.1.54com.google.code.gsongson2.8.2org.mockitomockito-core1.10.8com.datastax.cassandracassand

java - 无法在 Eclipse 中调试 Mockito/JUnit 代码,仅适用于 JUnit

我的JUnit测试运行良好。将Mockito添加到我的构建中,我尝试在我的JUnit测试中放置一个断点,该测试使用Mockito模拟一些公共(public)方法。当我尝试在类上运行调试器时,出现错误“由于缺少行号属性,无法在XXX中安装断点。修改编译器选项以生成行号属性。”我检查了我的编译器并选择了生成行号。 最佳答案 您看到的异常是由于尝试调试由mock()函数创建的动态生成的空模拟方法引起的。从你的问题来看,你似乎真的想使用部分模拟而不是完整模拟,其中只有一些方法被模拟,其余的调用被委托(delegate)给真正的实现。要创建部

java - 在没有 Maven 或 Gradle 的情况下将 JUnit 5 与 Java 9 结合使用

描述:我想在Eclipse(Oxygen4.7.1a)中使用JUnit5创建JUnit测试。这个JUnit测试应该在一个名为Test的单独的src文件夹中。但是,由于我是JUnit和Java9的新手,我遇到了以下问题。我不想为此使用Gradle或Maven等构建工具。问题:因为我有两个不同的src文件夹,一个用于项目src,一个用于测试用例:我需要两个module-info.java文件吗?(每个src文件夹一个)要让JUnit5工作,我的module-info.java文件中需要哪些模块? 最佳答案 一般来说,你的测试代码没有必要

java - 如何让 JUnit 4.8 在测试失败后但在任何 @After 方法之前运行代码?

我正在使用JUnit4.8.2驱动一套Selenium测试(实际上是WebDriver支持的Selenium)。我希望测试在断言失败后立即自动截取浏览器的屏幕截图。所有测试都继承自SeleniumBaseTestCase,然后大多数测试进一步继承自SeleniumBastTestCaseWithCompany(使用@Before和@After方法来创建然后通过Selenium清理常见的测试数据)。我尝试在SeleniumBaseTestCase中添加TestWatchman的子类作为@Rule,覆盖TestWatchman'sfailed截取屏幕截图的方法。问题是@After清理测试数

java - 运行忽略@Before/@After 的 Junit @Test

是否可以在一个类中运行一个JUnit@Test方法,该类的方法用@Before注释,但忽略@Before方法仅用于此测试?编辑:我感兴趣的是JUnit是否支持此功能,而不是解决方法。我知道一些解决方法,例如将测试移动到另一个类中或删除注释并在每个测试方法中手动调用setUp()。假设在一个类中有30个测试,其中29个@Before确实简化了测试初始化​​,但其中一个(或多个)没用/它使事情复杂化。publicclassMyTestClass{@BeforepublicvoidsetUp(){//setuplogic}@Testpublicvoidtest1(){//[...]}@Tes

java - 是否有类似 ZenTest/Autotest for Java 和 JUnit 的东西

我以前使用过ZenTest和自动测试来处理Ruby项目,并且我曾经使用它们进行测试驱动开发,如thisconfiguration.我有一个目前正在使用Java进行的项目,我想知道Java世界中是否有类似的东西可以达到相同的效果。 最佳答案 我还可以推荐Infinitest,它正在积极开发中,可以与Java以外的其他语言一起使用。我相信它在Scala上运行良好,但我在Groovy上使用它时运气不佳。它免费供个人使用,由Improving开发。 关于java-是否有类似ZenTest/Aut