在单个测试套件中独立运行多个测试用例,无需重新启动应用程序

Posted

技术标签:

【中文标题】在单个测试套件中独立运行多个测试用例,无需重新启动应用程序【英文标题】:running multiple test cases independently in a single test suite with out app relaunch 【发布时间】:2018-11-03 06:31:08 【问题描述】:

如何在一个独立的测试套件中运行多个测试用例,而无需重新启动应用程序。我目前只使用一个 it() 函数。

it('', async function() ...menutestcase, ..homescreenTestcase, ..SettingsTestcase, ...);

我想独立运行所有测试用例,这意味着如果一个测试失败,另一个将继续。目前,可以为每个测试用例使用多个 it() 函数来实现此功能。喜欢

it('', async function() ...menutestcase);
it('', async function() ...homescreenTestcase,);

但问题是,对于每个 it() 函数调用,应用程序都会为每个 it() 函数调用重新启动,并且每次应用程序启动时我都必须登录。

如果有任何方法可以解决此问题,请提供帮助。

【问题讨论】:

如何将登录名放在beforeAll 块中。 @AndreasKöberle 是否有任何设备农场服务,如 AWS-farming,用于在多个设备上测试 react-native 应用程序。有的话请帮忙。 【参考方案1】:

通过参考 https://github.com/wix/detox/blob/master/detox/test/e2e/f-device.js

我正在使用

// beforeEach(async () => await device.reloadReactNative());

现在,我将其注释掉并仅在第一个测试用例中添加了 device.reloadReactNative()。这样就成功了。

// beforeEach(async () => await device.reloadReactNative());
it('', async function() 
         await device.reloadReactNative();
         ...menutestcase
  );
it('', async function() ...SettingsTestcase,);
it('', async function() ...homescreenTestcase,);

【讨论】:

以上是关于在单个测试套件中独立运行多个测试用例,无需重新启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

从命令行从 iOS 中的测试套件运行单个/可选测试用例(XCTestCase)

如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python

unittest单元测试框架之测试套件

带你学懂

在 Junit 4 中运行所有测试

如何与Jest共享多个套件中的测试用例?