首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试聚合物的服务?

如何测试聚合物的服务?
EN

Stack Overflow用户
提问于 2017-05-28 16:27:45
回答 2查看 384关注 0票数 3

我正在编写一个聚合物应用程序,并且有一个由聚合物元素使用的服务。我想测试这个服务,但不知道怎么做。

这是我在服务中拥有的:

代码语言:javascript
复制
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
<script src="../../web-component-tester/browser.js"></script>

<link rel="import" href="../test-service.html">

<script>
define('test-service', () => {
  class TestService {
    constructor(componentA, componentB) {
      this.componentA = componentA;
      this.componentB = componentB;
    }
  }
  return TestService;
});
</script>

我怎么测试这个?如果我尝试简单地包含.html文件,我就无法访问TestService。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-01 09:43:26

终于弄明白了。这一切都与聚合物IMD和依赖注入有关。定义测试套件看起来与它不同:

代码语言:javascript
复制
define('test-service-test', ['test-service'], (TestService) => {
    let testServiceInstance = new TestService(1, 2);

    test('basic test', function(){
        assert.equal(testServiceInstance.componentA, 1);
        assert.equal(testServiceInstance.componentB, 2);
    })
});
票数 1
EN

Stack Overflow用户

发布于 2017-06-03 18:48:10

这是一个示例测试的完整html。基本上,通过test-fixture添加您的测试服务标记,然后查看它是否正常工作。

代码语言:javascript
复制
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">

    <title>test-service test</title>

    <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
    <script src="../../web-component-tester/browser.js"></script>

    <link rel="import" href="../test-service.html">
</head>
<body>

<test-fixture id="BasicTestFixture">
    <template>
        <test-service></test-service>
    </template>
</test-fixture>

<script>
    suite('test-service', function() {

        test('instantiating the element with default properties works', function() {
            let testService = fixture('BasicTestFixture');
            assert.equal(testService.apiUrl, 'http://myapi.domain.com');
            // possible something like
            // let addResult = testService.addElement(...);
            // assert.equals(addResult, '{"result": "success"}');
        });

    });
</script>

</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44229571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档