gpt4 book ai didi

java - 如何将参数值直接传递给TestNG、JUnit或其他框架方法?

转载 作者:行者123 更新时间:2023-11-28 20:31:17 24 4
gpt4 key购买 nike

基本上我正在尝试完成在 C# 的 NUnit 中非常简单但使用 Java 测试框架的事情。

我想用 Java 完成的事情在 C# 的 Nunit 中看起来像这样:

[Test]
[TestCase(ProcessTypes.A, "a", false, true, false), Category("Smoke")]
[TestCase(ProcessTypes.A, "A", false, false, true), Category("Functional")]
[TestCase(ProcessTypes.A, "*", false, false, false), Category("Functional")]
public void ProcessIsResponding(ProcessTypes ProcessType, string password, bool lengthPass, bool lowercasePass, bool uppercasePass) {
...
// perform test using parameters
...
}

在这种情况下,我编写了一个测试方法并使用注解来定义参数值,这些值只需要与测试方法的参数匹配即可。然后为每个 TestCase 注释调用它,每次使用一组不同的参数值。这比必须用参数名称注释测试并将值放在外部 XML 文件中要实用得多......当您有大量测试时,DataProvider 会非常麻烦。

似乎 TestNG 是目前最有前途的框架,但它具有完整的“xml 文件中的参数值”架构,这很糟糕。

如果其他人有这种结构,我愿意努力改进框架。

这可以用任何其他 Java 测试框架来完成吗?

最佳答案

您提到的所有测试框架都允许在启动时加载属性,这些属性可以用来代替参数。可以从命令行、环境变量、属性文件等读取属性。

TestNG 还允许参数,例如

导入 org.testng.annotations.Parameters;导入 org.testng.annotations.Test;

public class ParameterizedTest1 {
@Test
@Parameters("myName")
public void parameterTest(String myName) {
System.out.println("Parameterized value is : " + myName);
}
}

看看:http://www.tutorialspoint.com/testng/testng_parameterized_test.htm

关于java - 如何将参数值直接传递给TestNG、JUnit或其他框架方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23812919/

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