gpt4 book ai didi

node.js - 使用 Zombie 测试 Node.js 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:43:57 25 4
gpt4 key购买 nike

我正在使用express框架在coffee-script中编写一个node.js应用程序。在探索了几个选项之后,我最终决定使用 mocha 和 Zombie.js。然而,我正在努力测试用户界面。例如,要实现成功的用户身份验证,我执行以下操作:请参阅此处粘贴的代码 my_gist

我真正想做的是:

  • 调用get '/sessions/new',这将调用SessionsController并显示身份验证表单
  • 然后我将调用 browser.visit 方法,输入字段的值并提交表单,这将生成一个 post 方法
  • 如果用户名和密码正确,我希望 SessionsController 做出相应 react 并重定向到正确的页面。不幸的是,每当我运行测试时,它都会提示 Zombie: require is not Defined ReferenceError: require is not Define。事实证明它不喜欢我的/javascripts/app.js 中的两行


    require("coffee-script")
    require('./tfs.coffee')

即使我尝试在访问方法之后从浏览器中提取任何信息,我也只是得到未定义的值。显然我的断言都没有得到检验。它刚刚通过测试。我做错了什么吗?有人使用 Zombie.js 测试 CoffeeScript 编写的应用程序时遇到过这个问题吗?可以解决什么问题吗?

最佳答案

如果从浏览器加载/javascripts/app.js,您需要确保首先加载 RequireJS(或定义 require 的其他浏览器框架),或者将它们加载到您的 HTML 文档中:

<script src="coffee-script.js" type="text/javascript"></script><br/>
<script src="tfs.coffee" type="text/coffee"></script>

您可能需要等到页面完全加载后再提取值。

关于node.js - 使用 Zombie 测试 Node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872646/

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