我有两个测试类,每个测试类包含许多测试。我想同时运行这两个,而不必同时运行@BeforeClass安装方法。我打电话给这样的课:
public static void main(String[] args) {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { TestClass1.class, TestClass2.class });
testng.addListener(tla);
testng.run();
}
之所以这样,是因为我让他们两个都在弹出菜单中调用,只想一次选择该选项。如果不清楚,我会尝试进一步解释。
我有5个班级的个人测试集合。我希望每个班级能够单独运行,但我也想让它们集中运行,如果我愿意的话。在@BeforeClass中,我让他们每个人都调用另一个类来选择我想要使用的URL(我正在使用TestNG进行测试并使用Selenium WebDriver)。 当这段代码运行时,它将在每个I类列表中执行@BeforeClass,如果可能的话,如果我使用上面的代码执行测试,我想在所有测试中忽略@BeforeClass。
答案 0 :(得分:0)
我建议将变换器传递到实现IAnnotationTransformer2
的TestNG测试用例。该转换器可以允许您在运行时控制非@Test
注释的行为。
答案 1 :(得分:0)
您可以在2个测试类的公共类中使用@BeforeTest。
答案 2 :(得分:-1)
我知道你想在你的2个测试类中只运行一次@Before
内的东西,这两个测试类将同时执行。
如果您使用maven
+ junit 4.x
,则可以选择在测试套装开始和结束之前和之后进行设置。
或者您只需在套件级别创建@ClassRule
,请参阅doc