问题内容: JUnit测试用例中“ fail”的实际用法是什么? 问题答案: 我发现它有用的某些情况: 标记一个不完整的测试,因此它会失败并警告您,直到您可以完成它 确保引发异常: 注意: 从JUnit4开始,有一种更优雅的方法来测试是否引发了异常:使用批注 但是,如果您还想检查异常,则此方法将无效,那么您仍然需要。
问题内容: 被测类MyClass.java JUnit测试用例名称的替代品: http://moreunit.sourceforge.net似乎使用“ Test”作为前缀默认值,但是我看到了这两种用法。当将整个项目作为eclipse中的单元测试运行时,这两者似乎都可以识别,因为这是为@Test解析的类中的注释。我想Maven也会做同样的事情。 哪个是首选? 问题答案: 后缀的另一个参数-至少在英语
问题内容: 我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我试图将测试分成功能区域,以更好地报告错误。我创建了测试以测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流移动失败,我想跳过后续的页面/工作流测试。 如果测试A失败,如何跳过班级中的其余测试或在班级B中运行测试? 注意: 我意识到我要问的是“ UNIT TESTS的 不良实践* 。但是
问题内容: 我想用JUnit测试以下方法: 坦白说,我想出的唯一一件事就是基本上将相同的逻辑复制到测试中。当然,这可以防止方法被意外破坏,但是听起来有点违反直觉。 有什么更好的方法来测试此方法? 问题答案: 在单元测试中,您可以更改属性的值: 然后,您可以测试/调用您的方法以使用断言检查其返回的内容。 为了更容易设置System属性并在测试完成时取消设置该属性(从而促进测试隔离,自我约束),可以使
问题内容: 我有一个Java课。如何检查该类是否包含JUnit4测试的方法?我是否必须使用反射对所有方法进行迭代,还是JUnit4提供这种检查? 编辑: 由于注释不能包含代码,因此我根据以下答案放置了代码: 问题答案: 使用内置的JUnit 4类 org.junit.runners.model.FrameworkMethod 来检查方法。
问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指
问题内容: 我一直在为ema / junit编写ANT脚本的本教程,它指出 在中的元素中,更改实际类的位置,以便您指向$ {instr.dir}属性,而不是常规的target / classes文件夹。 这是我的build.xml中关于Apache Ant的emma部分(pastebin链接到完整的build.xml) :的 JUNIT失败结果 的生成部分结果 ,指向 生成部分的结果: JUNIT
问题内容: 如何在Mockito和JUnit 5中使用注入? 在JUnit4中,我可以只使用Annotation。在JUnit5中没有注释吗? 问题答案: 有多种使用Mockito的方法-我将一一介绍。 手动地 无论JUnit版本是什么(或测试框架),都可以使用Works手动创建模拟。 基于注释 使用@Mock -annotation和相应的调用 来创建嘲笑的作品无论JUnit版本(或测试框架,对
问题内容: 我通过几个测试来设置一个类,而不是使用一个我想拥有一个在所有测试之前仅执行一次的设置方法的类。Junit 4.8有可能吗? 问题答案: 尽管我同意@assylias的观点,即使用是经典的解决方案,但并不总是很方便。带有注释的方法必须是静态的。对于某些需要测试用例实例的测试而言,这非常不便。例如,基于Spring的测试可用于在Spring上下文中定义的服务。 在这种情况下,我个人使用带有
问题内容: 我是第一次使用JUnit进行Java测试。我必须使用Java,并且想使用单元测试。 我的问题是:我有一个带有一些抽象方法的抽象类。但是有些方法不是抽象的。如何使用JUnit测试此类?示例代码(非常简单): 我要测试并运行。 在“JUnit常见问题解答”部分中,我找到了此链接,但我不理解作者想在此示例中说些什么。这行代码是什么意思? 问题答案: 如果您没有该类的具体实现,并且方法不是测试
问题内容: 我想使用JUnit 4创建一个junit测试套件,在运行测试套件之前,要包含的测试类的名称是未知的。 在JUnit 3中,我可以这样做: 并让该方法确定要运行的测试类。 在JUnit 4中,文档说要使用批注:构建我的测试套件。有许多SO答案显示了如何执行此操作。不幸的是,我看到的示例似乎不允许传递动态生成的TestClasses列表。 这样的建议我必须继承我不想做的子类。 动态指定的测
问题内容: 我写单元测试,并希望使用和一个测试类。 不幸的是,以下操作无效: 有没有办法在一个测试类中同时使用Mockito和JUnitParams? 问题答案: 您不能执行此操作,因为根据规范,您不能将相同的注释两次放置在相同的注释元素上。 那么,解决方案是什么?解决的办法是只放一个你无法忍受的赛跑者,然后用其他东西代替。对于您的情况,我想您将删除并以编程方式执行此操作。 实际上,它唯一要做的就
问题内容: 我有一段使用环境变量的Java代码,代码的行为取决于此变量的值。我想用不同的环境变量值测试此代码。如何在JUnit中做到这一点? 我已经大致了解了一些在Java中设置环境变量的方法,但我对它的单元测试方面更感兴趣,尤其是考虑到测试之间不应相互干扰。 问题答案: 库系统Lambda具有设置环境变量的方法。 对于Java 5至7,库系统规则具有一个名为的JUnit规则。 完全公开:我是两个
问题内容: 有什么方法可以在JUnit中对测试进行分组,以便我只能运行某些组? 还是可以注释一些测试然后全局禁用它们? 我正在使用 JUnit 4 ,但不能使用TestNG。 编辑: @RunWith和@SuiteClasses很好用。但是是否可以仅在测试类中的某些测试中进行这样的注释?还是我必须注释整个测试课程? 问题答案: 您要在测试类中对测试进行分组还是要对测试类进行分组?我将假设后者。 这
问题内容: 我有一个充满void方法的Java类,我想进行一些单元测试以获得最大的代码覆盖率。 例如我有这种方法: 它的名字不好用是因为我翻译了代码以更好地理解。每种方法均会验证参数是否在某种程度上有效并且编写正确。 范例: 我的单元测试很好地涵盖了小的方法,因为我要求它们检查ErrorFile是否包含错误消息,但是我看不到如何测试方法checkIfValidElements,它什么也不返回或什么