我对VR完全陌生,正在为AFrame的一个Vr太空射击游戏工作,并想知道AFrame中是否有任何关于TDD的文档/标准。有人能指出我正确的方向吗?
答案 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/component(npm 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.
});
});
});