草庐IT

Junit-Tests

全部标签

java - 将单元测试标记为 JUnit 中的预期失败

如何在JUnit4中将测试标记为预期失败?在这种情况下,我想继续运行这个测试,直到上游修补了某些东西。忽略测试有点过分,因为那时我可能会忘记它。我也许可以添加一个@expected注释并捕获assertThat抛出的异常,但这似乎也与预期的行为有关。这是我当前的测试结果:@TestpublicvoidunmarshalledDocumentHasExpectedValue(){doc=unmarshaller.unmarshal(getResourceAsStream("mydoc.xml"));finalSTtitle=doc.getTitle();assertThat(doc.ge

java - 对 JUnit 测试进行分组

有没有办法在JUnit中对测试进行分组,以便我只能运行一些组?或者是否可以注释一些测试然后全局禁用它们?我正在使用JUnit4,我无法使用TestNG。编辑:@RunWith和@SuiteClasses效果很好。但是有可能像这样只注释测试类中的一些测试吗?还是我必须注释整个测试类? 最佳答案 JUnit4.8支持分组:publicinterfaceSlowTests{}publicinterfaceIntegrationTestsextendsSlowTests{}publicinterfacePerformanceTestsext

java - JUnit 测试——分析预期的异常

这个问题在这里已经有了答案:InJavahowcanIvalidateathrownexceptionwithJUnit?(10个回答)关闭6年前。在JUnit中,我目前正在使用注解来预期我的测试中会出现异常。有没有办法分析这个异常?例如,我期望一个CriticalServerException,但我也想验证getMessage方法的内容。 最佳答案 如果您有JUnit4.7或更高版本,请尝试ExpectedExceptionthisquestion中有一个例子,复制如下:@RulepublicExpectedExceptionex

java - JUnit:可能 'expect' 包装异常?

我知道可以在JUnit中定义'expected'异常,这样做:@Test(expect=MyException.class)publicvoidsomeMethod(){...}但是,如果总是抛出相同的异常,但使用不同的“嵌套”呢?原因。有什么建议吗? 最佳答案 从JUnit4.11开始,您可以使用ExpectedException规则的expectCause()方法:importstaticorg.hamcrest.CoreMatchers.*;//...@RulepublicExpectedExceptionexpectedEx

java - 如何通过 JUnit 测试拦截 SLF4J(带 logback)日志记录?

是否有可能以某种方式拦截日志记录(SLF4J+logback)并通过JUnit测试用例获取InputStream(或其他可读的内容)...? 最佳答案 Slf4jAPI没有提供这种方式,但Logback提供了一个简单的解决方案。您可以使用ListAppender:一个白盒logbackappender,其中日志条目被添加到publicList字段中,我们可以使用它来进行断言。这是一个简单的例子。Foo类:importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassF

java - 来自 junit 测试的 "Forked Java VM exited abnormally"错误

我有一个在开发机器上单独运行时通过的javajunit测试。我们还有一个hudson作业,它在带有Java1.5的MacOSX10.4节点上运行所有测试,通过ant调用。直到最近,该测试才在hudson构建中通过,但现在(没有相关的代码更改)每次测试都失败,并出现以下错误:错误信息ForkedJavaVMexitedabnormally.PleasenotethetimeinthereportdoesnotreflectthetimeuntiltheVMexit.堆栈跟踪junit.framework.AssertionFailedError:ForkedJavaVMexitedabn

java - 为什么我无法在使用 Maven 的 Junit 测试运行中访问 src/test/resources?

我在运行以下代码时遇到问题:configService.setMainConfig("src/test/resources/MainConfig.xml");从Junit@Before方法中。这是Maven构建其目标文件夹的方式吗? 最佳答案 直接访问MainConfig.xml。src/test/resources目录内容放置在您的CLASSPATH的根目录中。更准确地说:src/test/resources的内容被复制到target/test-classes中,所以如果你有以下项目结构:.└──src└──test├──java

java - JUnit Eclipse 插件?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion找不到这个我觉得很愚蠢,但是Eclipse的JUnit插件在哪里?我在构建路径中包含了最新的.jar,但我仍然无法选择创建新的测试用例、使用绿色/红色条运行测试用例等。我需要这个插件对吧?编辑:我正在使用“EclipseforPHPDevelopers”。所以也许这不会自动包含JUnit。我是否必须重新下载Eclipse,或者我可以通过某种方式获得该功能?

java - 即使其中一个断言失败,也可以在 junit4 中继续执行测试

我使用Jfunc构建了我现有的框架,它提供了一种工具,即使在测试用例中的一个断言失败时也可以继续执行。Jfunc使用junit3.x框架。但是现在我们正在迁移到junit4,所以我不能再使用Jfunc并用junit4.10jar替换它。现在的问题是,因为我们在框架中广泛使用了jfunc,并且在junit4中,我们希望即使在测试用例中的一个断言失败时,我们的代码也能继续执行。有没有人对此有任何建议/想法,我知道在junit中测试需要更加原子,即每个测试用例一个断言,但由于某种原因我们不能在我们的框架中这样做。 最佳答案 您可以使用Er

java - 命名约定 JUnit 后缀或前缀 Test

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭5年前。Improvethisquestion待测类MyClass.javaJUnit测试用例名称替代:TestMyClass.javaMyClassTest.javahttp://moreunit.sourceforge.net似乎使用“测试”作为前缀默认值,但我已经看到了这两种用途。在eclipse中将整个项目作为单元测试运行时,两者似乎都被识别,因为它是为@Test解析的类内部的注释。我猜maven做同样的事情。哪个是首选?