对于带有打字稿的流星项目并做出反应,我使用 nightwatch 测试,效果很好: https://github.com/arichter83/meteor-react-typescript-nightwatch
现在,我想检入数据库,如果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)
})
})
通过这种方法,很难使用我现有的模型并与床头柜交互。
但是我会在两者之间使用nightwatch
的单元测试功能,但是从文档看来,端到端测试和单元测试不能混用。
此外,当importing my models在服务器上进行测试时:
import { Links } from '../../imports/api/links'
console.log(Links.findOne())
Typescript 引发错误,它无法解析大气包meteor/mongo
-因此@types/meteor
似乎未加载(可能是流星特定的):
Cannot find module 'meteor/mongo'