gpt4 book ai didi

node.js - 弗里斯比功能测试标准

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:25 25 4
gpt4 key购买 nike

我对此很陌生,我一直在寻找编写正确功能测试的方法(或标准),但我仍然有许多未解答的问题。我正在使用 FrisbyJS 为 NodeJS API 应用程序编写功能测试,并使用 jasmine-node 来运行它们。

我已经阅读了 Frisby 的文档,但对我来说并没有什么收获。

这是一个场景:

  • 访客可以创建用户。 (显然,不允许用户名重复)
  • 创建用户后,他就可以登录。成功登录后,他会获得一个访问 token 。
  • 用户可以创建帖子。然后Post可以有Comment,依此类推...
  • 用户一旦创建就无法删除。 (不是来 self 的 NodeJS 应用程序)

Frisby 文档说的是,我应该在测试中编写测试。

例如(full-test.spec.js):

// Create User Test
frisby.create('Create a `User`')
.post('http://localhost/users', { ... }, {json: true})
.expectStatus(200)
.afterJSON(function (json) {

// User Login Test
frisby.create('Login `User`')
.post('http://localhost/users/login', { ... }, {json: true})
.expectStatus(200)
.afterJSON(function (json) {

// Another Test (For example, Create a post, and then comment)

})
.toss();

})
.toss();

这是编写功能测试的正确方法吗?我不这么认为...它看起来很脏。

我希望我的测试是模块化的。每个测试都有单独的文件。如果我为每个测试创建单独的文件,那么在为 Create Post 编写测试时,我将需要 User 的访问 token 。

总而言之,问题是:如果事物相互依赖,我应该如何编写测试?Comment 依赖于PostPost 取决于 User

最佳答案

这是使用 NodeJS 的副产品。这是我后悔决定选择弗里斯比的一个重要原因。事实上,我找不到一种好方法来及时从数据库中加载预期结果以在测试中使用它们。

关于node.js - 弗里斯比功能测试标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368707/

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