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

这是我所提供的服务:

<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。

最佳答案

终于想通了。所有这些都与Polymer IMD和依赖注入有关。定义测试套件看起来与此不同:

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

关于unit-testing - 如何测试 polymer 中的服务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44229571/

10-10 01:17