Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于速度的困惑';在meteor中的每个设置函数之前_Javascript_Unit Testing_Meteor_Jasmine_Meteor Velocity - Fatal编程技术网

Javascript 关于速度的困惑';在meteor中的每个设置函数之前

Javascript 关于速度的困惑';在meteor中的每个设置函数之前,javascript,unit-testing,meteor,jasmine,meteor-velocity,Javascript,Unit Testing,Meteor,Jasmine,Meteor Velocity,我正在尝试使用velocity[1]和jasmine[2]对meteor应用程序进行测试。 我定义了一个名为“object”的集合(collections/object.js): 我实现了一个设置函数(tests/jasmine/server/unit/ObjectSpec.js): 然后我运行实际的测试(相同的文件): 之后,我在下拉列表中恢复旧的应用程序状态(同一文件): 现在,当执行测试时,velocity向我抛出: 应为未定义,而不是未定义 我想知道,“beforeach”函数中的数据是

我正在尝试使用velocity[1]和jasmine[2]对meteor应用程序进行测试。 我定义了一个名为“object”的集合(collections/object.js):

我实现了一个设置函数(tests/jasmine/server/unit/ObjectSpec.js):

然后我运行实际的测试(相同的文件):

之后,我在下拉列表中恢复旧的应用程序状态(同一文件):

现在,当执行测试时,velocity向我抛出: 应为未定义,而不是未定义

我想知道,“beforeach”函数中的数据是否真的会在实际的测试函数中插入和访问?另外,我尝试在测试函数中使用console.log()来显示当前数据,但它不会显示在浏览器控制台中。为什么?

[1]


[2]

你应该预料到null@AdamWolski我不知道你的意思。但是,变量“selectedObject”应包含在“beforeEach”函数中创建的对象。但如果为空,findOne将返回null,而不是未定义的对象
Objects = new Meteor.Collection('objects');
describe('Objects', function () {
  'use strict';

  // set up
  beforeEach(function () {

    // 1 - backup all data
    MeteorStubs.install();

    // 2 - delete current 'Objects'-items
    Objects.remove({});

    // 3 - add test data
    Objects.insert({
       someProperty: 'data1'
    });

  });
  // actual tests
  it("should delete a specific object", function () {
    var selector = {someProperty: 'data1'};
    var selectedObject = Objects.findOne(selector);

    // will return 'Expected undefined not to be undefined.'
    expect(selectedObject).not.toBe(undefined);

    Meteor.call('deleteObject', selectedObject, function(error, id) {
        if (error)
            return alert(error.reason);
    });

    expect(Objects.findOne(selector)).toBe(undefined);
  });
  // tear down
  afterEach(function () {
    Objects.remove({});
    MeteorStubs.uninstall();
  });