0

テストしたい .js 内でどのように定義できますか?

例でより良い:

これは私のテストファイルです:

define([
    'intern!object',
    'intern/chai!assert',
    'intern/order!app/scripts/misc/utils'
], function (registerSuite, assert, Utils) {
    'use strict';
    registerSuite({
        name: 'Utils',

        greet: function () {
            assert.strictEqual(Utils.clearString('/prueba'), '-prueba', 'utils.clearString should return -prueba changing / for -.');
        }
    });
});

テスト用の私のファイル:

define(['misc/envConfig'],
    function (EnvConfig) {
        'use strict';
        return {
            clearString: function (string) {
                var from = 'ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇç/ ',
                    to = 'AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc--',
                    mapping = {};

                for (var i = 0, j = from.length; i < j; i++) {
                    mapping[ from.charAt(i) ] = to.charAt(i);
                }

                var ret = [];
                for (i = 0, j = string.length; i < j; i++) {
                    var c = string.charAt(i);
                    if (mapping.hasOwnProperty(string.charAt(i))) {
                        ret.push(mapping[ c ]);
                    } else {
                        ret.push(c);
                    }
                }
                return ret.join('');
            }
        };
    }
);

これは、テストを実行したときに発生しました。

Error: Failed to load module misc/envConfig from /projectFolder/misc/envConfig.js (parent: app/scripts/misc/utils)
    at /projectFolder/node_modules/intern/node_modules/dojo/dojo.js:754:12
    at fs.js:207:20
    at Object.oncomplete (fs.js:107:15)

テスト ファイル内の定義は /projectFoler/app/scripts/misc/envConfig.js にある必要があることに注意してください。

この例では他の関数を削除したため、envConfig が使用されないことはわかっています。

お時間をいただきありがとうございます。説明が不十分で申し訳ありません。

4

1 に答える 1

0

書き込んだ依存app/scripts/misc/utils関係'misc/envConfig''./envConfig'.

于 2014-03-17T18:25:47.273 に答える