Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试具有大量';这';在…内_Javascript_Angular_Unit Testing_Tdd - Fatal编程技术网

Javascript 如何测试具有大量';这';在…内

Javascript 如何测试具有大量';这';在…内,javascript,angular,unit-testing,tdd,Javascript,Angular,Unit Testing,Tdd,我如何测试这个没有返回验证的函数,我正在用很多方法测试一个文件,这些方法只会更改大部分标志,如下所示 customerDidProvideCellPhoneNumber() { this.screenElements.inputPhoneNumber.writable = true; this.screenElements.checkDidNotProvideEmail.writable = true; this.formGroup.get('phoneNumber').

我如何测试这个没有返回验证的函数,我正在用很多方法测试一个文件,这些方法只会更改大部分标志,如下所示

customerDidProvideCellPhoneNumber() {
    this.screenElements.inputPhoneNumber.writable = true;
    this.screenElements.checkDidNotProvideEmail.writable = true;
    this.formGroup.get('phoneNumber').enable({ onlySelf: true });
    this.screenElements.btnSendSMS.enabled = true;
    this.screenElements.alertCellPhone.visible = false;
}

假设您要进行单元测试(相对于更大范围的行为测试),您应该考虑使用模拟<代码>此< /代码>,并断言其属性按预期设置。

函数customerDidProvideCellPhoneNumber(){
this.screenElements.inputPhoneNumber.writable=true;
}
让mockThis={screenElements:{inputPhoneNumber:{}};
customerDidProvideCellPhoneNumber.call(mockThis);

断言(mockThis.screenElements.inputPhoneNumber.writable==true)您的测试应该验证函数是否符合您的预期,并且除了简单地检查返回值之外,还有其他方法。在这种情况下,我假设函数应该设置系统中其他几个对象的状态。因此,您的测试可以(a)创建/初始化这些其他对象。如有必要,您可以模拟它们,(b)调用此方法,(c)检查这些其他对象以验证其状态是否已按预期更改。