Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/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
Ember.js Ember cli:如何在开发和测试环境之间共享设备?_Ember.js_Ember Cli - Fatal编程技术网

Ember.js Ember cli:如何在开发和测试环境之间共享设备?

Ember.js Ember cli:如何在开发和测试环境之间共享设备?,ember.js,ember-cli,Ember.js,Ember Cli,我在使用ember cli开发应用程序原型的过程中使用http存根。 我想要的是在测试环境中重用这个存根,但由于看起来像ember cli,所以无法弄清楚如何在测试环境中使用fixture适配器 有一个PR允许在测试期间使用HTTP模拟,这听起来像您所描述的,但确定这不是测试应用程序的好方法 从讨论的问题(包括模拟)来看: …我们可以达成一个协议,即模拟对开发有用,但在测试中是一种反模式。我们决定不花时间让mock在ember-test--server中工作,而是展示如何在使用invoker的测

我在使用ember cli开发应用程序原型的过程中使用http存根。
我想要的是在测试环境中重用这个存根,但由于看起来像ember cli,所以无法弄清楚如何在测试环境中使用fixture适配器

有一个PR允许在测试期间使用HTTP模拟,这听起来像您所描述的,但确定这不是测试应用程序的好方法

从讨论的问题(包括模拟)来看:

…我们可以达成一个协议,即模拟对开发有用,但在测试中是一种反模式。我们决定不花时间让mock在
ember-test--server
中工作,而是展示如何在使用invoker的测试中进行适当的模拟

Stefan向我展示了一个使用假装器进行模拟的示例,测试代码比使用隐藏在./server配置中的响应的模拟服务器可读性好得多。这个周末我打算花些时间看看从相关的公共关系中可以找到什么

stefanpenner关于如何设置假装器进行测试的示例包含在原始版本中,可以找到

该示例中的示例测试如下所示:

test('searching', () => {
  server.get('/jobs', json(200, {
    jobs: [
      job({ title: 'UI Engineer'     }),
      job({ location: 'Palo Alto', title: 'UI Engineer'     }),
      job({ location: 'Palo Alto', title: 'Backend Engineer'}),
    ]
  }));
 
  server.get('/companies', json(200, {
    companies: []
  }));
 
  return visit('/').then(() => {
    equal(numberOfJobs(), 3, 'expected 3 jobs');
 
    fillIn($('#search-field'), 'UI').then(() => {
      equal(numberOfJobs(), 2, 'expected 2 jobs');
    });
 
    fillIn($('#search-field'), 'ASDFASDF').then(() => {
      equal(numberOfJobs(), 0, 'expected 0 jobs');
    });
 
    fillIn($('#search-field'), 'Palo alto').then(() => {
      equal(numberOfJobs(), 2, 'expected 2 jobs');
    });
 
    return fillIn($('#search-field'), '').then(() => {
      equal(numberOfJobs(), 3, 'expected 3 jobs');
    });
  });
});