为Javascript项目设置实习生

Setting Up Intern for Javascript Project

本文关键字:实习生 设置 项目 Javascript      更新时间:2023-09-26

我知道有几个类似的问题已经回答了(用Intern测试自定义JavaScript(不是Node模块),不能让Intern运行Node.js模块),但即使在阅读了这些答案之后,我仍然无法使用Intern运行一些简单的测试。我觉得我只错过了一小部分。

我试图评估实习生与现有的Javascript项目使用。它不是Node项目,只是普通的Javascript。如果重要的话,我正在尝试在Windows机器上执行此评估。

  1. 我的项目层次结构是这样的:

    APEFIntern/
        apeform/
            test/
                intern.js      - Intern configuration
                spec_inwf.js   - Tests for inwf
            inwf.js            - Code to test
        intern/
    
  2. 内部配置文件:

    // ...
    // Configuration options for the module loader; any AMD configuration options supported by the Dojo loader can be
    // used here
    loader: {
        // Packages that should be registered with the loader in each testing environment
        //packages: [ 'apeform' ]
    },
    // Non-functional test suite(s) to run in each browser
    suites: [ 'apeform/test/spec_inwf' ],
    // ...
    

    我是Node和AMD的新手,但我认为,由于我的项目不是Node项目,我不需要使用加载器。软件包的配置?

  3. 测试文件spec_inwf.js

    define([
    'intern!bdd',
    'intern!chai!expect',
    'apeform/inwf.js'
    ], function (bdd, expect) {
        with (bdd) {
            describe("inwf suite", function () {
                // Tests
            });
        }
    });
    
  4. 我执行以下命令来尝试运行测试:

    node client.js config=apeform/test/intern
    

    我从命令中收到的唯一输出是:

    Defaulting to "console" reporter
    

如果我在Intern配置中将套房数组设置为空,当我执行#4中的命令时,我得到消息"0/0测试通过"。我相信这是正确的输出。但是每当我尝试连接到测试套件时,测试都不会运行。我不确定这个方程中还遗漏了什么。

看起来您在spec_inwf.js测试文件中有一个小语法问题:

'intern!chai!expect',
应该

'intern/chai!expect',

在您的设置中,其他一切看起来都很好。

注意:你关于如果你的项目不是Node项目就不需要使用loader.packages配置的说法并不准确。但是,在这种特殊情况下,您不需要对您提供的文件结构使用它。为了更好地理解这个配置选项,amdjs包文档值得一读,因为它是特定于amd的,而不是特定于Intern的。