【问题标题】:Run individual Detox test运行个人排毒测试
【发布时间】:2018-06-28 16:29:30
【问题描述】:

Running detox test 运行套件中的所有测试。有没有办法运行测试的子集?单个测试文件,或单个测试用例。

根据文档,我已将 Detox 配置为使用 Mocha 作为测试运行器。我知道 Mocha 有一个 -g 选项来指定运行测试的模式。但是传递给detox 命令的选项似乎没有传递给mocha

# detox test -g mytestcase

error: unknown option `-g'

我正在尝试将 Detox 用于 TDD,我能越快获得反馈越好。随着我的测试套件的增长,如果运行时间越来越长,运行测试的动力就会越来越小。

【问题讨论】:

    标签: detox


    【解决方案1】:

    前言:
    Detox 与测试运行程序无关,您实际上可以使用您想要的任何测试运行程序。我们所做的唯一一件事就是尝试通过创建 detox-cli 让开发人员的生活更轻松,它目前仅适用于 mocha 和 jest,但您可以轻松地将其扩展到任何其他运行程序。 虽然我同意detox-cli 的实现并不完美(参数没有从测试运行器传递,通常需要一些工作),但在detox-test.js 中添加任何你想要的东西都很容易。

    实际答案:
    同时,运行单个测试的最快方法是使用only 来标记您要运行的套件/测试:describe.onlyit.only

    【解决方案2】:

    考虑以下代码来运行特定套件

    describe.only('App screen', () => {
        beforeEach(async () => {
            await device.reloadReactNative();
        });
    

    在上面的代码中,“Only”将运行整个测试套件。

    考虑以下代码来运行特定的测试用例

    it.only('should write into TextInputs', async () => {
                await element(by.id("input")).typeText("Detox Automation POC-Test for enter text and delete text");
                await element(by.id("input")).clearText();
                await element(by.id("input")).replaceText("Bye");
    

    在上面的代码中,“Only”将运行特定的测试用例。

    【讨论】:

    • 这只会在一个文件中运行signle describe,但仍会在不同的文件中运行其他测试。需要与detox test /path/to/yourTest.spec.js结合使用。
    • @Townsheriff 这个问题是关于运行个人排毒测试的,没有提到是否在单个文件中运行,所以答案是正确的,不要解释它来混淆其他人:)跨度>
    【解决方案3】:

    解决方法可能会有所帮助。是否也通过 ssh 将 ssh 通道排毒到远程主机:

    1. 在同一文件夹结构级别上为测试(不是 e2e,f.E.“temp-tests”)创建另一个文件夹。
    2. 将所有测试复制到临时测试中
    3. 编写小脚本并从“e2e”文件夹启动它。它会:

      删除 e2e 中的所有测试,然后只从其中进行一项测试 “temp-tests”并将其放入“e2e”文件夹并启动它。

    4(可选)也可以将 mocha-report 的保存写入另一个文件,以便为每个测试报告问题。

    脚本: ///////////////////////////////////// rm *.spec.js cd ../运行测试 cp 唯一测试名称 ../e2e/ 排毒测试 --configuration yourapp.initial

    【讨论】:

      【解决方案4】:

      编辑:原来你根本不需要-f 标志。

      您可以只使用detox test /path/to/yourTest.spec.js,它适用于单个文件(在 v14.4.1 上测试)。

      Source

      我最终使用-f 参数来测试特定的测试。

      detox test -f /path/to/yourTest.spec.js

      repo 看到它。看起来可能已经更新了。

      【讨论】:

        猜你喜欢
        • 2021-06-21
        • 2021-01-26
        • 2018-05-13
        • 2019-10-30
        • 2020-03-16
        • 2018-04-20
        • 2021-02-06
        • 2019-06-23
        • 2019-07-19
        相关资源
        最近更新 更多