我对 JAVA 世界相当陌生 - 来自 ColdFusion 背景 - 并且一直在学习 Java,因为我正在学习 Selenium WebDriver/JUnit。我编写了几个测试类来测试遵循类似结构的管理功能。
public class myclass{
public static WebDriver driver;
@BeforeClass
public static void startDriver(){
driver = new FirefoxDriver();
driver.get("some url");
}
@Test
public void myLogin(){
some login code
}
@Test
public void somefunction() {
other admin function to test
}
我的问题是这样的 - 因为我所有的测试都需要用户登录 - 我最终不得不一遍又一遍地重复使用“mylogin”测试代码。我如何编写测试来简单地“包含”(如 ColdFusion 中的“cfinclude”标签)登录代码,以便如果对登录页面功能进行更改 - 我只需在一处更改它。
最佳答案
Java 没有像 ColdFusion 或 C 那样的词法 include 语句。这是设计使然,因为在编译之前粘贴源代码是在模块之间共享代码的一种非常不干净的方式。
但是还有很多其他方法可以解决这个问题。这里有两个:
- 创建您自己的库,将常用功能封装在方法中,并在测试中使用该库
- 添加
setUp
andtearDown
methods为您的测试类(class)。这些方法在每个测试方法之前和之后执行。请注意,测试类可以相互继承。因此,当您有很多具有相同setUp
和tearDown
方法的测试类时,您可以让它们扩展一个公共(public)基类,并在基类中实现这些方法一次。<
关于java - 如何在其他测试中重用(包含)Junit 测试 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878873/