在我的項目中,我有一些功能可以檢測當前使用的瀏覽器。我想用Jasmine測試自動測試它們。如何爲特定瀏覽器運行茉莉花測試?
如何在選定的瀏覽器中運行一個特定的測試?
瀏覽器detection.ts:
export class BrowserDetection {
public static isMicrosoftInternetExplorer() {
return this.isBrowser('MSIE ');
}
public static isMicrosoftEdge() {
return this.isBrowser('Edge/')
}
public static isGoogleChrome() {
return this.isBrowser('chrome');
}
/**
*
* @param browserString Browserstring as it is found in the useragent string.
* @returns {boolean} Returns true if there is a match for the browserstring.
*/
private static isBrowser(browserString): boolean {
let userAgent = window.navigator.userAgent;
return userAgent.indexOf(browserString) >= 0;
}
}
瀏覽器detection.spec.ts:
import {BrowserDetection} from "app/module/browser-detection/browser-detection";
describe('BrowserDetection',() => {
it('detects google chrome correctly',() => {
// Arrange
// TODO: only run this test on google chrome
// Act
let result = BrowserDetection.isGoogleChrome();
// Assert
expect(result).toBe(true);
})
});
另一個注意:這個測試在谷歌瀏覽器中失敗,因爲當我運行「ng test」時isBrowser()錯誤地返回false。當我們用「ng serve」運行程序時,isBrowser()會返回正確的布爾值。 – Janneman96