1

我知道已经回答了几个类似的问题(Test custom JavaScript (not Node module) with Intern and Can't get Intern to run Node.js Module),但即使阅读了这些答案,我仍然无法使用 Intern 运行一些简单的测试。我觉得只有一小块我忽略或丢失了。

我正在尝试评估 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 很陌生,但我相信由于我的项目不是节点项目,我不需要使用 loader.packages 配置?

  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 测试通过”。我相信这是正确的输出。但是每当我尝试连接到测试套件时,测试都不会运行。我不确定这个等式还缺少什么。任何帮助,将不胜感激。

4

1 回答 1

0

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

'intern!chai!expect',

应该

'intern/chai!expect',

您的设置看起来一切正常。

注意loader.packages:如果您的项目不是 Node 项目,您关于不需要使用配置的声明并不准确。但是,在这种特殊情况下,您不需要将它与您提供的文件结构一起使用。为了更好地理解此配置选项, amdjs 软件包文档可能值得一读,因为它是 AMD 特定的,而不是 Intern 特定的。希望这可以帮助。

于 2013-05-20T19:03:56.087 回答