gpt4 book ai didi

knockout.js - 使用 mocha 进行 headless knockout View 模型测试

转载 作者:行者123 更新时间:2023-12-03 09:48:50 25 4
gpt4 key购买 nike

我正在尝试对我的 knockout View 模型进行 headless 测试。我特意避免在我的 View 模型中处理任何 ui 构造并将接线留给 html 页面。

这在 Jasmine 中效果很好,因为它在浏览器中运行,但是当我切换到 mocha 时,我最终在 knockout 中率先进入最后一行,即:

})(window,document,navigator);



我看过使用 zombiejs这将是一个不错的选择,但我没有看到关于如何在不更改 knockout 源本身的情况下使用它的好故事。

关于如何解决这个问题的任何想法?

最佳答案

这也是我目前关注的一个话题。我将把我的发现转储在这里,希望它们可以为您指明正确的方向。

我将首先尝试的可能路线是 PhantomJS .它是一个 headless WebKit 浏览器,因此它应该具有出色的 DOM、JSON、HTML5 和 CSS 选择器支持(例如 works with jQuery and qUnit)。

我选择它是因为它被knockout.js 本身使用,我在knockout.js 存储库中发现了它,其中有一个.travis.yml 文件和以下评论:

enter image description here

我没有任何证据证明这会奏效,但我对它在 Knockout.js 核心中的使用感到鼓舞。我还找到了 this runner script for knockout/phantom这看起来是一个很好的发射点。

我还找到了 a few examples通过 node.js 使用 Mocha 和 PhantomJS,包括 this lib extending grunt在 Phantom 中运行 mocha,和 this script showing how to run mocha inside PhantomJS .所以这部分至少是确定的。

另一个解决方案 noted in the knockoutjs archives , 是使用 knockout-nodeJsDOM创建一个可行的 DOM,但乍一看,这似乎太模糊了,可能会导致实现您自己的测试环境。

有一个slidedeck suggesting僵尸.js 将与 knockout/节点/等一起工作。但是我找不到任何可以提供确凿证据的东西,所以我也不喜欢这条路线。

关于knockout.js - 使用 mocha 进行 headless knockout View 模型测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11210295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com