- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想从命令行测试带有 mocha 框架的 Meteor 应用程序:
mocha **/*/*spec.js --compilers js:babel-core/register
所有测试都工作正常,但是当测试文件以以下内容开头时:
import { Meteor } from 'meteor/meteor';
import { Factory } from 'meteor/dburles:factory';
导入 meteor 等..我收到错误:
Error: Cannot find module 'meteor/meteor'
所以我的问题是:
如何在不使用“meteor test”命令的情况下测试 Meteor 应用程序?
我必须如何引导 Mocha 来运行 meteor 测试?
谢谢。
最佳答案
你需要使用practicalmeteor:mocha。所以我的 package.json 中有脚本,例如:
"scripts": {
"start": "meteor --settings settings-development.json",
"test": "meteor test --driver-package practicalmeteor:mocha --port 5000 --settings settings-development.json",
"chimp-watch": "chimp --ddp=http://localhost:3000 --watch --mocha --path=tests",
"chimp-test": "chimp --ddp=http://localhost:3000 --mocha --path=tests"
},
这些是一些简单的测试:
/* eslint-env mocha */
/* eslint-disable func-names, prefer-arrow-callback */
/* eslint no-console: ["error", { allow: ["log", "warn", "error"] }] */
import { Meteor } from 'meteor/meteor';
import { assert } from 'meteor/practicalmeteor:chai';
import { resetDatabase } from 'meteor/xolvio:cleaner';
import { checkLog } from '../apiHelpers.js';
import { insertLog } from './methods.js';
import { addLog, addLogPromise } from './insertHelpers.js';
import { getLGSitemId, getLGSitemType, getLGScreateDate } from './generalHelpers.js';
import { getLDSevents, getLDSevent, addEvent } from './dataHelpers.js';
describe('Log Tests', function() {
beforeEach(function () {
if (Meteor.isServer) {
resetDatabase();
}
});
if (Meteor.isServer) {
it('insertHelpers: addLog', function () {
let testLogId = '';
try {
testLogId = insertLog.call(addLog('someDodgyId', 'doc'));
} catch (err) {
console.log(err);
}
assert.typeOf(testLogId, 'string');
assert.typeOf(checkLog(testLogId), 'undefined'); // if it runs correctly, undefined
});
it('insertHelpers: addLogPromise', function () {
addLogPromise('someDodgyId', 'doc')
.then((result) => {
assert.typeOf(result, 'string');
assert.typeOf(checkLog(result), 'undefined');
})
.catch((err) => {
throw new Meteor.Error(err);
});
});
it('generalHelpers', function() {
const testLogId = insertLog.call(addLog('someDodgyId', 'doc'));
assert.typeOf(testLogId, 'string');
// Tests
assert.equal(getLGSitemId(testLogId), 'someDodgyId');
assert.equal(getLGSitemType(testLogId), 'doc');
assert.typeOf(getLGScreateDate(testLogId), 'date');
});
}
});
关于javascript - 找不到模块 'meteor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43330257/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!