【问题标题】:Mocha test not running Chai assertion using MeteorMocha 测试未使用 Meteor 运行 Chai 断言
【发布时间】:2016-06-12 04:58:24
【问题描述】:

对于我的项目,我正在尝试设置 Mocha 来运行 Chai 测试,但是遇到了一个问题,即测试根本没有运行。浏览器报告没有测试通过、失败或运行。

这是测试代码:

import {assert} from 'chai';
import {Meteor} from 'meteor/meteor';

if (Meteor.isclient) {

    describe('Recipe model', function () {
        it('should test that a recipe is created', function () {
            assert.isTrue(true);
        });
    });
}

我使用以下命令运行测试:

    meteor test --driver-package practicalmeteor:mocha

我也安装了practicemeteor:chai。谷歌搜索建议将 chai.should() 放在我的测试开始,但这没有帮助。我愿意接受所有建议。

干杯!

【问题讨论】:

  • 是否加载了测试文件?你把文件放在哪里了?你咨询过《流星指南》吗?
  • 我曾多次查阅《流星指南》。据我所知,要运行测试,您只需运行我最初发布的行并确保所有测试文件都是 *.test.js。文件的位置无关紧要,但如果确实如此,我的测试在 root > client > tests 下。
  • 您是否让您的客户端测试运行@Shyyk?

标签: javascript testing meteor mocha.js chai


【解决方案1】:

其中一个可能的问题是代码第 4 行的拼写错误:将 Meteor.isclient 替换为 Meteor.isClient。你的测试甚至没有执行,因为Meteor.isclient 总是false

【讨论】:

  • 你是对的!我将其更改为正确的代码,但它仍然没有运行测试。另外,我可以取出条件,测试仍然没有运行......
  • 我没有看到除了 chai import 之外的任何其他问题(可能应该是 import { assert } from 'meteor/practicalmeteor:chai';)。另外,我建议您查看Meteor Todos 项目。它包含测试示例,并且所有内容都已正确配置。
【解决方案2】:

确保不要将测试文件放在 /tests 目录中。我知道它不直观,但流星忽略了 /tests 中的所有内容。

【讨论】:

  • 我遇到了这个问题,通过将“tests”重命名为“test”(mv tests/ test/)来修复它。
【解决方案3】:

原来我在导入断言时遇到了奇怪的问题。我只需要按照@Tdm 的说明执行以下操作:

import {chai} from 'meteor/practicalmeteor:chai'

【讨论】:

  • 这应该被标记为问题的答案。将其作为评论并不一定表明问题已经解决。
猜你喜欢
  • 2017-02-14
  • 2018-06-26
  • 2019-06-28
  • 2017-02-18
  • 2012-07-16
  • 1970-01-01
  • 2013-04-11
  • 2019-02-15
  • 2023-03-22
相关资源
最近更新 更多