【问题标题】:Use ember mock server for ember test --server使用 ember 模拟服务器进行 ember 测试 --server
【发布时间】:2023-03-09 10:58:01
【问题描述】:

在运行ember server 时,server/mocks 中的模拟被正确提供,因此它们也可以在测试中使用(因为测试默认在 localhost:4200/tests 中,并且来自模拟服务器的 api可在 localhost:4200/) 获得。

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

【问题讨论】:

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


    【解决方案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');
    });
    });
    });
    

    我希望这可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-14
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多