编写A-Frame的测试规范

时间:2017-01-29 00:20:38

标签: aframe

我对VR完全陌生,正在为AFrame的一个Vr太空射击游戏工作,并想知道AFrame中是否有任何关于TDD的文档/标准。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

几乎完全在A-Frame组件中构建您的应用程序:https://aframe.io/docs/0.4.0/guides/writing-a-component.html

然后测试组件。几乎A-Frame代码库中的每个组件都有单元测试:https://github.com/aframevr/aframe/tree/master/tests/components

angle中的组件模板也有单元测试设置。 https://github.com/aframevr/angle/tree/master/templates/componentnpm install -g angle && angle initcomponent表示独立组件。

测试使用Karma来启动真实的浏览器并执行代码。它将实体附加到DOM,并附加具有不同属性值的组件,并断言值。一个基本的例子:

suite('foo component', function () {
  var component;
  var el;

  setup(function (done) {
    el = entityFactory();
    el.addEventListener('componentinitialized', function (evt) {
      if (evt.detail.name !== 'foo') { return; }
      component = el.components.foo;
      done();
    });
    el.setAttribute('foo', {});
  });

  suite('update', function () {
    test('bar', function () {
      el.setAttribute('foo', 'bar', 10);
      assert.equal(component.baz, 10);  // Assert something.
    });
  });
});