草庐IT

Junit-Tests

全部标签

java - JUnit Eclipse 显示 System.out.print() 的

我在Eclipse3.4中使用JUnit3。当我运行JUnit测试用例时,一切正常,测试完美完成。唯一的问题是我想查看我正在运行的类的输出。所有类都有一些输出值的基本System.out.print()。因此,当我运行测试时,我根本看不到任何控制台消息。当测试成功时,如何让Eclipse在控制台窗口中显示System.out.print()输出? 最佳答案 也许其他程序也在Eclipse的控制台上运行。请确保Eclipse显示您的JUnit代码的ActivityView。来自Eclipse帮助:Selectthe“DisplaySe

java - 您能否在不显式列出它们的情况下从命令行运行包中的所有 JUnit 测试?

如果测试类和JUnit都在类路径中,则可以从命令行运行JUnit测试,如下所示:javaorg.junit.runner.JUnitCoreTestClass1TestClass2现在,有没有办法在一个包(和子包)中运行所有测试?我正在寻找类似的东西javaorg.junit.runner.JUnitCorecom.example.tests.testsIWantToRun.*有没有简单的方法(不涉及maven或ant)? 最佳答案 Junit让你定义suites的测试。每个套件都定义了一组测试,运行该套件会导致运行所有测试。我所做

java - 如何预定义junit测试用例的运行顺序?

我在Java中有一个测试类,其中有几个由@Test注释的方法,不知何故,当我运行整个测试时,我想Junit在方法B之前运行方法A。有可能还是有必要? 最佳答案 这种对测试方法的依赖是糟糕的设计,应该避免。如果一个测试方法中有初始化代码需要为下一个方法完成,则应将其分解到setUp方法中。 关于java-如何预定义junit测试用例的运行顺序?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

java - 是否有用于运行测试组的 JUnit TestRunner?

我目前正在使用JUnit4,并且需要将我的测试分成可以以任意组合有选择地运行的组。我知道TestNG具有注释测试以将它们分配给组的功能,但我现在无法迁移到TestNG。这似乎可以在JUnit中使用一些自定义注释和自定义JUnitTestRunner轻松完成。我已经检查了JUnit文档并在网上搜索但找不到这样的东西。有人知道这样的TestRunner吗?更新:感谢您对测试套件的回复。我应该在我原来的问题中解决这些问题。我们开始吧:我不想使用测试套件,因为它们需要我手动创建和管理它们,这意味着接触我的所有测试并手动将它们安排到套件中(太多的工作和维护噩梦)。我需要做的就是运行所有单元测试,

java - 无法导入 org.junit.Assert.AssertThat;

我无法在我的程序中导入org.junit.Assert.AssertThat。我正在使用Ganymede和jUnit4.8.1。 最佳答案 静态导入是org.junit.Assert.assertThat(T,Matcher)您可以将其作为静态导入导入:importstaticorg.junit.Assert.assertThat现在在您的客户端代码中,您可以执行assertThat(something,ismatched())引用:JavaTutorial>TheStaticImportStatement常规导入如果您导入Asse

java - 忽略测试用例中的断言失败 (JUnit)

目前,我正在使用java和seleniumrc编写自动化测试。我想验证用户界面上的所有内容,功能如下:publicStringUITest()throwsIOException{Stringresult="TestStart";try{openfile(1);for(Stringurl:uiMaps.keySet()){selenium.open(url);for(Stringitem:uiMaps.get(url)){assertEquals(url+"check:"+item,true,selenium.isTextPresent(item));result+=url+"check

java - play framework 2.1 junit 测试无法从 eclipse 运行

我正在按照zentask教程编写一个junit测试,测试不会从EclipseIDE运行,它给出以下异常javax.persistence.PersistenceException:java.lang.IllegalStateException:Class[classplay.db.ebean.Model]isenhancedand[classmodels.User]isnot-(youcannotmix!!)atcom.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescr

java - 即使在 Junit 测试从 with in 'finally' block 中抛出断言错误后, 'try' block 是否会触发?

finally{}block中的writer.close()方法会在Junit断言错误上运行吗?假设以下代码:@TestpublicvoidtestWriter(){try{writer.open();finalListmyBeans=newArrayList();/**Add2beanstothemyBeansListhere.**/finalintbeansWritten=writer.writeBeans(myBeans);//Saythisassertionerrorbelowistriggeredorg.junit.Assert.assertEquals("Wrongnumb

java - 有什么方法可以让 Eclipse 始终使用常见的 VM args 来运行 JUnit 测试?

有人知道如何让Eclipse使用一组默认的虚拟机参数吗?每次我在本来可以顺利运行的测试套件中运行特定的包、类或方法时,我已经厌倦了不断地手动指定这些。使用JUnit4、Eclipse3.5。基本原理:一些测试是集成测试,用于验证具有大量输入集的操作,因此必须继续输入是乏味的:-Xms256m-Xmx512m如果有什么,例如在Eclipse首选项中,我可以在其中一劳永逸地指定它,我将不胜感激! 最佳答案 如果您在单独的JRE(我认为是默认设置)中运行测试,那么您可以转到InstalledJREs并在那里为其指定默认VM参数,如下面的屏

java - JUnit 测试中的假设与断言

我读过如果假设失败,assume将不会运行测试,但我不确定何时放置assert与assume的逻辑。例如:任何资源加载检查都应该用assume来完成吗?什么时候应该使用assume而不是assert?(注意:我正在寻找何时使用一个而不是另一个的正确设计) 最佳答案 如果您遇到某些测试根本不应运行的情况,您可以使用assume。“未运行”意味着它不会失败,因为它没有运行。如果出现问题,您可以使用assert使测试失败。因此,在一个假设的场景中:您为不同的客户提供不同的构建,并且您拥有一些仅适用于特定客户的资源,并且该资源有一些可测试的