我正在为使用Backbone
的{{1}}应用编写测试。我正在使用Stripe
来运行测试。在我的mocha-phantomjs
文件中,我index.html
获取<script src="https://js.stripe.com/v2/" type="text/javascript"></script>
的代码。
但是,当我运行测试时,我收到错误:
Stripe
,这是有道理的,因为我没有使用ssl证书运行测试命令。
我通过创建本地ReferenceError: Can't find variable: Stripe
文件并将js
缩小的代码复制到其中来实现它,从而超越了对ssl证书的需求并且我的测试通过了。
但我的问题是,这是最佳做法吗?
我是否应该创建一个stripe's
模拟对象sinon
并使用它来代替或者更有意义来存根Stripe
对象以防止对{Stripe
进行任何调用{1}} API?
答案 0 :(得分:2)
我认为最好记住的是分离关注点。
Stripe是第三方服务,因此我不认为在单元测试中使用此类服务是最明智的选择。
这些是单元测试 - 可能是你的骨干控制器;所以测试应该严格只测试控制器代码。
因此,我会模拟控制器所需的必要对象和方法。同样,这样,您的单元测试依赖性更加清晰。