我在/api/users
下有一个 server/mocks/users
模拟终结点。
当我运行ember s
时,它在浏览器中运行良好,但是当我运行ember test
验收测试到访问{{1}时,它失败了}路线。我为users
获得404, Not found
。我所有的单元测试都通过了。
我错过了什么?
答案 0 :(得分:2)
您可能需要考虑使用Pretender来模拟您的api端点。
npm install --save-dev ember-cli-pretender
然后,您可以使用JSON数据创建模拟文件(我们通常使用/ tests / fixtures / filename)。然后只需要导入该文件并调用伪装者。导入模拟(随意调用它):
import mockJSON from '../fixtures/apiMock';
然后在测试的设置功能上设置伪装器:
const server = new Pretender(function() {
function response(content, statusCode = 200, headers = { 'Content-Type': 'application/json' }) {
return [statusCode, headers, JSON.stringify(content)];
}
this.get('/api/1', function() {
return response(mockJSON);
});
})
响应函数填充标题,然后只需要拉入我们的模拟JSON。我们使用一个名为“setup-pretender”的帮助程序来执行此操作,因此您只需在安装程序中调用setupPretender()并可以访问所有模拟。
答案 1 :(得分:1)
似乎这还不可能。
我决定改用ember-cli-mirage
。
答案 2 :(得分:0)
答案在ember-cli主页上:
模拟只是为了发展。整个/服务器目录将是 在ember构建和余烬测试期间被忽略。
但是,Ember.js有一个插件:ember-cli-testem-http-mocks