現在の環境が実稼働マシンまたはローカル開発マシンで実行されているかどうかを判断する関数の DOH テストを作成しようとしています。この関数は、document.domain プロパティの文字列を分析することでこれを実現します。関数が DOH テストから呼び出されたときに、指定したドメインが分析されるように、document.domain プロパティをプログラムで設定する方法はありますか? 関数は次のとおりです。
isProdEnvironment = function() {
var nonProdRegExp = new RegExp( 'localhost|dev|test|perf' );
var isNonProd = nonProdRegExp.test( document.domain );
return ! isNonProd;
};
私のテストケースでは、次のようなことをしたかった:
document.domain = 'someProdEnvironment.com';
doh.assertFalse (isProdEnvironment());
ただし、これを行うたびに、関数内の document.domain 呼び出しがisProdEnvironment()
、テストが実行されている開発マシンのドメイン (つまり、「localhost」) を取得し続けるため、テストは常にパスします。