检查nightwatchjs是否将E2E测试正确保存到数据库?

时间:2019-03-28 11:58:58

标签: node.js typescript meteor nightwatch.js

对于带有打字稿的流星项目并做出反应,我使用 nightwatch 测试,效果很好: https://github.com/arichter83/meteor-react-typescript-nightwatch

a。)通过客户端检查数据库结果

现在,我想检入数据库,如果end2end测试成功添加了数据,而且结果出乎意料地困难。我可以通过客户端浏览Mongo.Collection(在github上):

browser
  .execute(function() {
    return (Meteor as any).connection._stores['links']._getCollection()
      .insert({title:"new link"})
  }, [], (result) => {
    const newid = result.value
    browser
      .assert.containsText('#' + newid, 'new link')
      .execute(function(newid) {
        return (Meteor as any).connection._stores['links']._getCollection()
          .remove({_id: newid})
      }, [newid], () => {
        browser
          .assert.elementNotPresent('#' + newid)
      })
  })

通过这种方法,很难使用我现有的模型并与床头柜交互。

b。)在测试中检查数据库结果

但是我会在两者之间使用nightwatch单元测试功能,但是从文档看来,端到端测试和单元测试不能混用。

此外,当importing my models在服务器上进行测试时:

import { Links } from '../../imports/api/links'
console.log(Links.findOne())

Typescript 引发错误,它无法解析大气包meteor/mongo-因此@types/meteor似乎未加载(可能是流星特定的):

Cannot find module 'meteor/mongo'

问题

  1. 通常建议检查数据库结果以进行E2E测试吗?
  2. 使用夜视仪(+流星)最优雅的方法是什么? (我还创建了Feature Request there
  3. 如何在夜视测试中使用流星库?

0 个答案:

没有答案