首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从测试类访问依赖项

如何从测试类访问依赖项
EN

Stack Exchange QA用户
提问于 2021-07-02 15:43:36
回答 2查看 67关注 0票数 1

我想知道从我的测试类访问测试自动化框架依赖项的其他选项是什么。

现在我有一个分层的架构:

  1. 框架层(包含用于访问已部署服务的所有共享代码)
  2. 管理层(在框架中构建类和依赖项。Ie处理DI)
  3. 测试层(通过在工具中创建的对象控制测试流程)

我在控制层中有一个测试基类,它可以访问运行测试所需的各种API、数据库和UI类。因此,使用继承来提供对这些依赖项的访问。

示例测试类如下所示:

代码语言:javascript
复制
public class MyTestClass : TestBase
{
    [Test]
    public void sample_test()
    {
        APIs.MyAPI.GetSampleEndpoint(); // APIs is an inherited field in test base
    }
}

我觉得继承是解决测试类中的依赖关系问题的最好方法。缺点是管理“API”字段附加到的包装类。

是否有更好的选择来以干净的方式管理大量的依赖关系?

EN

回答 2

Stack Exchange QA用户

发布于 2021-07-05 09:23:31

是否有更好的选择来以干净的方式管理大量的依赖关系?

干净的代码与限制对依赖项的访问高度相关--因为依赖于许多因素使得代码更易更改。

如果我们以实心的S和O为例,我们可能得出的结论是创建更抽象的测试类,用于专门的依赖关系。

您可以有一个用于API x的类和另一个用于API y的类(更清楚地说,您根据正在测试的功能来命名它们)。测试将从每个专门的类派生出来,只能访问少数(理想情况下是一个)依赖项。这将确保其他API上的更改不会影响目标API。

票数 0
EN

Stack Exchange QA用户

发布于 2023-01-18 07:34:41

TestNG允许您使用−指定依赖项。

@Test注释中的a.Using属性dependsOnMethods,OR。

@Test注释中的b.Using属性dependsOnGroups。

使用dependsOnMethods的示例

  • 创建要测试的java类,例如,MessageUtil.java
  • 在/work/testng/src中创建一个java测试类,比如DependencyTestUsingAnnotation.java。
  • 将测试方法testPrintMessage()和testSalutationMessage()和initEnvironmentTest()添加到测试类中。
  • 将属性dependsOnMethods = {"initEnvironmentTest"}添加到testSalutationMessage()方法的@Test注释中。
  • 创建testng.xml

=>Compile MessageUtil,测试用例类使用javac。

=>Now,运行testng.xml,它只在执行initEnvironmentTest()方法之后才运行testSalutationMessage()方法。

使用dependsOnGroups的示例

  • 创建要测试的java类,例如,MessageUtil.java
  • 创建一个java测试类,比如DependencyTestUsingAnnotation.java。
  • 将测试方法testPrintMessage() testSalutationMessage()和initEnvironmentTest()添加到测试类中,并将它们添加到"init“组中。
  • 将属性dependsOnGroups = {"init.*"}添加到testSalutationMessage()方法的@Test注释中。
  • 创建testng.xml

=>Compile MessageUtil,测试用例类使用javac。

=>Now,运行testng.xml,它只在执行initEnvironmentTest()方法之后才运行testSalutationMessage()方法。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/47744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档