如何 Mocha\Chai 使用 NativeScript iOS

How to get Mocha\Chai working with NativeScript iOS

我似乎无法在 iOS...

上进行 {N} 单元测试

1) 需要带有 NSAllowsArbitraryLoads 的 http。我宁愿不启用它,是否有一个例外要添加,允许它只为 karma 启用。

2) 错误:找不到模块 'chai'。计算路径 '/Users/steve/Library/Developer/CoreSimulato r/Devices/3607EE15-7B8D-46AE-9DE4-2526D5E91E1F/data/Containers/Bundle/Application/EBBB37FA-F126-499C-9B C1-D39179A0F58E/MyApp.app/app/tns_modules/chai'.

这就是测试的全部内容

/// <reference path="../../typings/mocha/mocha.d.ts" />

import * as helpers from '../scripts/helpers';
import {assert} from 'chai'

describe('Hello World Sample Test:', function () {
    it('Counter should be 42 on start.', function () {
        assert.equal(42, 42); 
    });
});

所以 TypeScript 没有显示任何错误,chai 肯定在我的 node_modules 中,得到所有智能感知的好处。

但确实如错误所说,它似乎没有与所有其他 tns 内容(和我的其他插件)一起位于该文件夹中?

有没有人有这个工作或者它是一个错误?

根据我的经验,似乎 {N} 会自动将断言导入为全局函数,基本上您不需要在测试中导入它。所以尝试删除:

import {assert} from 'chai'

并将其替换为

declare var assert: Chai.AssertStatic; 

这样 TypeScript 就不会报错,然后测试在执行时也应该有效。

我在这里 mocha/chai 进行了测试 https://github.com/PeterStaev/nativescript-azure-mobile-apps/tree/master/sample,因此您可以查看更多详细信息。