有什么方法可以在JUnit中对测试进行分组,以便我只能运行某些组?
还是可以注释一些测试然后全局禁用它们?
我正在使用 JUnit 4 ,但不能使用TestNG。
编辑: @RunWith和@SuiteClasses很好用。但是是否可以仅在测试类中的某些测试中进行这样的注释?还是我必须注释整个测试课程?
您要在测试类中对测试进行分组还是要对测试类进行分组?我将假设后者。
这取决于您如何运行测试。如果您由Maven运行它们,则可以精确指定要包含的测试。有关此信息,请参见Maven
surefire文档
。
不过,总的来说,我要做的是拥有一棵测试套件树。JUnit 4中的测试套件如下所示:
@RunWith(Suite.class)
@SuiteClasses({SomeUnitTest1.class, SomeUnitTest2.class})
public class UnitTestsSuite {
}
因此,也许我有一个FunctionTestsSuite和UnitTestsSuite,然后是一个包含其他两个的AllTestsSuite。如果在Eclipse中运行它们,您将获得一个非常漂亮的层次结构视图。
这种方法的问题在于,如果您想以一种以上不同的方式对测试进行切片,那将很繁琐。但这仍然是可能的(例如,您可以拥有一组基于模块进行切片的套件,然后对测试类型进行另一切片)。
问题内容: 您会考虑在项目中组织JUnit测试的最佳实践是什么,为什么?例如,您是否将测试保持在测试的类旁边?您是否将它们放在单独但并行的包装结构中?您是否完全使用其他组织策略? 问题答案: 由于多种原因,我使用了一个独立但并行的包结构。 它使测试的组织方式与应用程序代码相同。 我可以轻松地构建仅用于分发的应用程序文件。 测试代码仍然可以访问我的应用程序代码。 它不像将测试代码与应用程序代码混合在
22.13.6.测试分组 JUnit和TestNG允许为测试方法精密分组. 对于分组JUnit的测试类与测试方法,JUnit4.8引入了类别的概念.9该测试任务允许您设定JUnit包括或者排除某些类的规范。 例22.12.JUnit分类 build.gradle test { useJUnit { includeCategories 'org.gradle.junit.Ca
主要内容:1. 在方法上的分组,2. 在类上的分组,3. 其它分组分组测试是TestNG中的一个新的创新功能,它在JUnit框架中是不存在的。 它允许您将方法调度到适当的部分,并执行复杂的测试方法分组。 您不仅可以声明属于某个分组的方法,还可以指定包含其他组的组。 然后调用,并要求其包含一组特定的组(或正则表达式),同时排除另一个分组。 组测试提供了如何分区测试的最大灵活性,如果您想要背靠背运行两组不同的测试,则不需要重新编译任何内容。 使用标记在文件中指定分组
我不能在HttpSession上进行模拟。测试方法如下所示: 测试结果如下所示: 我总是得到未经授权的例外,但我需要避免它。如何为会话添加一些参数来模拟工作?
我在Java EE托管bean中有以下代码: 其中facesContextProvider是一个用于返回faces上下文的自定义类(对于模拟测试很有用)。 我想知道如何使用Mockito在JUnit中测试这一点。我正在尝试以下方法的组合: 那么单元测试工具将是: 然后单元测试代码将是:
本节介绍与JUnit Framework相关的各种模拟测试。 您可以在本地计算机上下载这些示例模拟测试,并在方便时离线解决。 每个模拟测试都提供一个模拟测试密钥,让您自己验证最终得分和评分。 JUnit Mock Test I 问题1 - 以下哪项描述正确测试? A - 测试是检查应用程序功能的过程,是否按照要求运行。 B - 测试是单个实体(类或方法)的测试。 C - 以上两者。 D - 以上都