我正在尝试click
使用angular2 rc1为事件编写单元测试.我的组件使用onClick()
方法处理click事件并将name
字段从bar
to 更改为foo
.看到这个plunker.
现在我想触发一个click
事件来测试name
值是否值bar
.请参阅unit-testing.spec.ts
plunker上的文件.
it('should change name from foo to bar on click event', inject([], () => {
return builder.createAsync(UnitTestingComponentTestController)
.then((fixture: ComponentFixture<any>) => {
let query = fixture.debugElement.query(By.directive(UnitTestingComponent));
expect(query).toBeTruthy();
expect(query.componentInstance).toBeTruthy();
// fixture.detectChanges();
expect(query.componentInstance.name).toBe('foo');
query.triggerEventHandler('click',{});
expect(query.componentInstance.name).toBe('bar');
// fixture.detectChanges();
});
}));
Run Code Online (Sandbox Code Playgroud)
这是 UnitTestingComponentTestController
@Component({
selector: 'test',
template: `
<app-unit-testing></app-unit-testing>
`,
directives: [UnitTestingComponent]
})
class UnitTestingComponentTestController {
}
Run Code Online (Sandbox Code Playgroud)
此测试失败并显示以下消息:
Expected 'foo' to …
Run Code Online (Sandbox Code Playgroud) 我有两个maven项目,A
和B
.这些是通用的独立库,它们都有一些共同的依赖关系(即C
).在大多数情况下,我需要导入两个A
和B
我的新项目.以下是依赖树的示例myNewProject
:
myNewProject |
|_ A
| |
| | C -> version 1.2
|
|_ B
|
| C -> version 1.2
Run Code Online (Sandbox Code Playgroud)
有什么办法保持C
的版本相同的两个A
和B
.请记住,这是两个不同的项目.例如B
,不是子模块A
.
我问这个问题,因为我不想myNewProject
保留两个不同版本的依赖项