gpt4 book ai didi

java - 使用自制的类库作为其他类文件中的函数

转载 作者:行者123 更新时间:2023-11-30 10:56:32 24 4
gpt4 key购买 nike

我是 Java 的新手,所以如果这是一个愚蠢的问题请原谅我,但是当我说我真的找不到可靠的答案时请相信我。

这就是我正在使用的: enter image description here

所以我正在测试一个程序,保持它的维护和更新的最简单方法是创建我自己的“按钮”库。库中的所有内容都是小函数,例如“enterValidCredentials”和“clickLoginButton”。

那么让我们来看看我的测试用例。在一个完美的世界中,我将能够:

public class progressCheck {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://mail.google.com/");
enterValidCredentials;
clickLoginButton;
}
}

enterValidCredentials 和 clickLoginButton 存在于我的类库中。我很清楚那不会像上面写的那样工作。从字面上看,执行此操作的正确方法是什么?

如果有帮助的话,我的 enterValidCredentials 类如下所示:

public class loginPageButtons {
private WebDriver driver;
Actions actions = new Actions(driver);

public class enterValidCredentials { // This class enters in a valid username and valid password on the login page.
public void enterValidCredentials2() {
driver.findElement(By.cssSelector("input[type=\"text\"]")).clear();
driver.findElement(By.cssSelector("input[type=\"text\"]")).sendKeys("XXXXXXXX");
driver.findElement(By.cssSelector("input[type=\"password\"]")).clear();
driver.findElement(By.cssSelector("input[type=\"password\"]")).sendKeys("XXXXXXXX");
}
}

我的所有其他功能都遵循相对相似的结构(当然,取决于它们的功能)。

最佳答案

您可以使用单元测试来检查类的单一功能。

创建单元测试最常用的库是 JUnit .

如果您使用 ide(如 IntelliJ 或 Eclipse)运行测试可以使用一个简单的命令来完成,就像运行 main 方法一样。

如果您需要创建对象的模拟,您可以使用像 Mockito 这样的库(但还有许多其他有效的替代方法)。

注意: mock 是一个对象,它与难以在测试环境中使用的复杂对象(例如数据库连接、文件处理程序、网络处理程序)具有相同的接口(interface).

这是一个例子,我试着想象你的代码和可能的测试。我假设 clickLoginButton 返回一个整数只是为了显示可能的断言语句。

例子:

@Test
public static void testCredentials() {
WebDriver driver = new FirefoxDriver();
driver.get("http://mail.google.com/");
EnterValidCredentials enterValidCredentials = new EnterValidCredentials(); // Or create a mock if necessary
// Set values if necessary
int returnValue = enterValidCredentials.clickLoginButton();
assertEquals(returnValue, 1);
}

关于java - 使用自制的类库作为其他类文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32971782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com