我想知道从我的测试类访问测试自动化框架依赖项的其他选项是什么。
现在我有一个分层的架构:
我在控制层中有一个测试基类,它可以访问运行测试所需的各种API、数据库和UI类。因此,使用继承来提供对这些依赖项的访问。
示例测试类如下所示:
public class MyTestClass : TestBase
{
[Test]
public void sample_test()
{
APIs.MyAPI.GetSampleEndpoint(); // APIs is an inherited field in test base
}
}我觉得继承是解决测试类中的依赖关系问题的最好方法。缺点是管理“API”字段附加到的包装类。
是否有更好的选择来以干净的方式管理大量的依赖关系?
发布于 2021-07-05 09:23:31
是否有更好的选择来以干净的方式管理大量的依赖关系?
干净的代码与限制对依赖项的访问高度相关--因为依赖于许多因素使得代码更易更改。
如果我们以实心的S和O为例,我们可能得出的结论是创建更抽象的测试类,用于专门的依赖关系。
您可以有一个用于API x的类和另一个用于API y的类(更清楚地说,您根据正在测试的功能来命名它们)。测试将从每个专门的类派生出来,只能访问少数(理想情况下是一个)依赖项。这将确保其他API上的更改不会影响目标API。
发布于 2023-01-18 07:34:41
TestNG允许您使用−指定依赖项。
@Test注释中的a.Using属性dependsOnMethods,OR。
@Test注释中的b.Using属性dependsOnGroups。
使用dependsOnMethods的示例
=>Compile MessageUtil,测试用例类使用javac。
=>Now,运行testng.xml,它只在执行initEnvironmentTest()方法之后才运行testSalutationMessage()方法。
使用dependsOnGroups的示例
=>Compile MessageUtil,测试用例类使用javac。
=>Now,运行testng.xml,它只在执行initEnvironmentTest()方法之后才运行testSalutationMessage()方法。
https://sqa.stackexchange.com/questions/47744
复制相似问题