使用ember模拟服务器进行ember测试--server

时间:2015-01-05 13:16:55

标签: unit-testing ember.js mocking ember-cli

运行ember server时,server/mocks中的模拟正确提供,这样它们也可以在测试中使用(因为测试是在localhost:4200 / test默认情况下和api从模拟服务器可以在localhost:4200 /)。

然而,当运行ember test --server时,模拟不可用,这使得依赖于这些模拟的测试失败。这是一个错误吗?如何在测试服务器中使用模拟器?

1 个答案:

答案 0 :(得分:1)

我自己和我能收集的问题面对这个问题,此刻你不能。有Pull Request on GitHUB人们谈论实现这一点,但似乎方向是改为使用ember-cli-mirage addon(目前版本为0.0.24)。

我没有尝试使用ember-cli-mirage插件,但我找到了example on how to use it

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');
});
});
});

我希望这可能有所帮助。

相关问题