我正在尝试为ng test
在浏览器上运行的Nativescript应用程序设置单元测试。问题是,每当有tns-core-modules
或另一个插件导入时,由于平台特定的文件(例如“ tns-core-modules / application / application.android.js”)始终无法获取而无法解析该模块编译到捆绑软件中,从而引发类似“找不到模块:错误:无法解析'tns-core-modules / application'”之类的错误。
我知道Nativescript中有内置的单元测试支持。我的问题是它不能在CI上运行。我希望对我的业务逻辑进行轻量级测试,从而模拟出所有平台依赖性。
我一直在寻找一种在运气不佳的情况下在运行时模拟模块导入的方法。我查看了rewire
程序包,但它仅在节点上运行。
答案 0 :(得分:0)
您根本无法在浏览器上运行NativeScript应用程序。
如果您正在寻找无头模式之类的东西,Appium也有一个isHeadless
的功能。
我之间是否可以知道为什么您认为无法在CI上运行{N}单元测试?它毕竟也应该在CI上工作,毕竟它是一台基于某些触发器运行相同命令的机器。
答案 1 :(得分:0)
我终于设法使它起作用。这不是一个非常好的解决方案,我还没有看到它需要多少维护。这里的重点:
paths
的{{1}}部分添加模拟导入
地点tsconfig.json
这样test.ts