我通过NuGet将我的单元测试项目从版本2.0.0-beta- {something}迁移到2.0.0(稳定版).似乎Assert.DoesNotThrowAsync()不再可用了.
例如:
[Fact]
public void CanDeleteAllTempFiles() {
Assert.DoesNotThrowAsync(async () => DocumentService.DeleteAllTempDocuments());
}
Run Code Online (Sandbox Code Playgroud)
结果是
DocumentServiceTests.cs(11,11):错误CS0117:'Xunit.Assert'不包含'DoesNotThrowAsync'的定义(CS0117)
解决方法是省略测试.有没有更好的解决方案?
我有我的根(自举)角(6.x的)组件可观察到的,AppComponent。
通常,我会在使用生命周期钩子调用 destroy() 时取消订阅任何打开的订阅ngOnDestroy。
由于 AppComponent 是应用程序的根,因此永远不会被销毁(除非整个应用程序被销毁),我是否仍然需要实现 ngOnDestroy 并且我是否需要为取消订阅而烦恼?
我一直无法找到这个看似常见的确切场景的答案。
例子:
export class AppComponent implements OnInit, OnDestroy {
private tokenSubscription: Subscription;
constructor(private dataSvc: DataService) { }
ngOnInit() {
this.tokenSubscription = this.dataSvc.myObservable.subscribe((val) => {
// do stuff
});
}
ngOnDestroy() {
this.tokenSubscription.unsubscribe(); // Do I need this in root component?
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!