舉例來說,我有一個名爲featureFlag
一個自定義的指令,它顯示或隱藏的元素取決於要素的配置:是否可以測試Angular 2中是否存在自定義指令屬性?
<div *myFeatureFlag="'myFeatureName'">
This should be hidden if the myFeatureName feature is turned off.
</div>
當談到測試這一點,但是,我不知所措。我已經知道如何測試指令本身,但我想測試*myFeatureFlag
是否添加到元素,而不測試myFeatureFlag
指令中的邏輯。
有沒有辦法在我的單元測試中檢查是否存在此指令?這樣的事情:
it('should be wrapped in a feature flag',() => {
expect(element.querySelector('div').myFeatureFlag).toEqual("'myFeatureName'");
});
你檢查的價值如何,他們[測試'* ngIf'(https://github.com/angular/angular/blob/master/modules/@angular/common/test/directives /ng_if_spec.ts)?也許這將有助於... – Sasxa
* ngIf的測試測試元素的可見性,我特別想在這裏避免。我只是想測試一下功能標誌屬性的添加,而不測試結果行爲(因爲該行爲可能在以後發生變化)。 – Maloric
你不能測試。它是模板的一部分,所以在編譯期間刪除angular2以生成合適的html。你只能測試html結果,而不能直接模板。 –