在 QUnit 测试中重置 KnockoutJS ViewModel
我刚刚开始使用 Knockout JS 和 QUnit 对我的淘汰视图模型进行单元测试。我遇到的问题是,如果我的 qunit 测试 javascript 文件中有多个测试,并且链接到一个包含我的视图模型定义的 javascript 文件...我在一个测试中对视图模型所做的任何更改当我在测试模块中开始下一个测试时也存在。我习惯使用 NUnit 环境,在测试之间我的状态会自动清除。
是否有人可以指出一种方法、模式或示例来显示定义视图模型的最佳方法,并让它在每个单元测试开始时重置其状态?
I'm just getting started with Knockout JS and with QUnit for doing unit tests of my knockout view model. The problem that I'm running into is that if I have multiple tests in my qunit test javascript file, and I link to a javascript file which includes my View Model definition... any changes that I make to the View Model in one test are also present when I start the next test in the test module. I'm used to have an NUnit environment where my state is cleared automatically between tests.
Is there a method, pattern or example that someone can point to which shows the best way to define a view model, and have it reset it's state for the start of each unit test?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否使用
module
的第二个参数(生命周期)?如果没有,您应该能够在这个级别实例化您的视图模型,如下所示:从我记得读过的内容来看,QUnit tets 与
setup
和tearDown
在相同的范围内运行>,因此在setup
中定义的任何成员都可以在任何后续测试中访问。Are you using the second parameter (lifecycle) of
module
? If not, you should be able to instantiate your view model at this level, something like:From what I remember reading, QUnit tets are run in the same scope as
setup
andtearDown
, so any members defined insetup
will be accessible within any subsequent tests.