问题当我使用eclipse运行所有JUnit测试时,我可以设置默认超时吗?背景我的经理坚持要编写有时需要5分钟才能完成的单元测试。当我尝试运行整个测试套件(只有大约300个测试)时,可能需要30多分钟。我想放置一些东西来停止任何超过10秒的测试。我知道单个测试可以注释为:@Test(timeout=10000)但是这样做会让他的长时间测试总是失败。当他在他的盒子上运行它们时,我希望它们能够工作(如果我必须在checkin之前对项目进行微小的调整,那是可以接受的。但是,从40个不同的测试文件中删除超时是不切实际的)。我也知道我可以创建一个ant任务来为所有测试设置默认超时,按照以下行:.
我有一个单元测试用例,它涉及创建一些具有随机内容的文件,然后使用这些文件进行测试,并在清理时删除这些文件。所以我需要在@Before方法中创建文件并写入文件。我应该如何处理异常? 最佳答案 如果您的测试类需要这些文件来执行其测试,那么您应该使用throwsIOException声明@Before方法。这样,如果文件创建失败,测试类将失败,并且从异常中可以明显看出原因。如果您捕获并抑制IOException,则需要这些文件的单元测试可能无论如何都会失败,并且它会以一种需要侦探工作的方式出现。对于@After方法,风险没有那么高。我会用
导入Junit4依赖要使用单元测试,首先我们得在项目中导入Junit4的jar包。普通导入方式,在项目目录下创建一个lib文件夹,然后将Junit4的jar复制进来,然后右键点击AddasLibrary将jar设为依赖。在这里插入图片描述Maven项目导入方式,在maven的配置文件pom.xml直接添加依赖坐标即可。dependency>groupId>junitgroupId>artifactId>junitartifactId>version>4.13.2version>scope>providedscope>dependency>单元测试1.首先我们先创建一个需要进行测试类。2.然后按
我需要为我的findbugsant脚本设置一个过滤器文件,它只扫描src/*文件而不扫描test/*文件。在忽略名称中带有“test”的任何文件名或包名的同时检查所有类的语法是什么? 最佳答案 FindBugs实际上是在扫描已编译的类文件,而不是sourcePath.如果您将src/*和test/*文件编译到不同的目录,您可以只使用嵌套的元素。如果src/*和test/*都被编译到一个目录中,那将不起作用。在这种情况下,使用filterfile并排除测试对应的包名或类名。哪里exclude.xml看起来像:
我正在使用EclipseGalileoforJavaEE,并且我想将JUnit配置为在我尝试导航到它的方法时向我显示源代码。我已尝试将源附加到JUnit库,但库定义不可编辑。我什至找不到在首选项中配置JUnit库的位置。当我打开“添加库”窗口并选择JUnit时,我看到一个对话框,我可以在其中选择JUnit版本,但它显示“未找到源位置”。如何配置Eclipse以查找JUnit的源代码? 最佳答案 我下载了EclipseSDK并检查了差异,终于让它工作了。下载thisJAR进入您的eclipse/plugins目录。编辑eclipse/
我有一个测试套件,我在@After中退出系统并在@AfterClass中关闭浏览器。我正在尝试使用@Rule为每种测试方法使用Selenium获取失败的测试屏幕截图。我手动检查了@Rule只在每个@Before之前运行,但我想在@Test之后和@After之前设置它。我找不到简单的解决方案。任何帮助将不胜感激。publicclassMorgatgeCalculatorTest{@Beforepublicvoidbefore(){System.out.println("Iambefore");}@BeforeClasspublicstaticvoidbeforeclass(){Syste
我正在为我的项目使用Maven并有以下问题:我想在测试报告中查看我的JUnit测试(log4j、System.out等)的日志输出。您知道如何实现这一目标吗?谢谢;-) 最佳答案 我相信您可以使用mavensurefire插件配置键redirectTestOutputToFile重定向测试的输出(System.out),然后在target中找到输出/surefire-报告在theplugindocs中查看更多相关信息在一个片段中:org.apache.maven.pluginsmaven-surefire-plugintrue
假设我有一个名为testFixtureA的测试类有几种方法testA,testB,testC等,每个都有@Test注解。现在假设我将testFixtureA子类化进入名为testFixtureAB的类(class)而且我不会覆盖任何东西。testFixtureAB目前是空的。当我从testFixtureAB运行测试时,方法testA,testB和testC由测试运行器执行,因为测试运行器不区分来自类和基类的测试方法。我如何强制测试运行器从基类中删除测试? 最佳答案 andIdon'toverwriteanything.testFix
我正在Ant中配置JUnit,以便在每次构建时运行单元测试。我希望失败测试的输出在运行时打印在Ant控制台输出中。我不需要看到后续测试的任何输出。这是我的build.xml文件的相关部分:这几乎产生了我想要的结果,失败的测试在Ant输出中有详细说明,除了成功的测试还会写入以下输出:[junit]Testsuite:my.tree.junit.ExampleTest[junit]Testsrun:7,Failures:0,Errors:0,Timeelapsed:0.002sec我相信我已经尝试了JUnittask中列出的所有组合文档,包括:printsummary属性showoutpu
我有一个JUnit测试套件,形式如下:@RunWith(Suite.class)@Suite.SuiteClasses({xx.class,yy.cass})publicclassAllTests{publicstaticTestsuite(){TestSuitesuite=newTestSuite(AllTests.class.getName());//$JUnit-BEGIN$//$JUnit-END$returnsuite;}}然后像这样调用原始测试:publicclassxxx{@Testpublicvoidtest()throws{...我有一种情况,如果第一个测试出现错误或