Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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编写单元测试时,我们是否应该创建一个类似于实际文件的测试html文件?_Javascript_Html_Unit Testing_Mocha.js_Chai - Fatal编程技术网

在为javascript编写单元测试时,我们是否应该创建一个类似于实际文件的测试html文件?

在为javascript编写单元测试时,我们是否应该创建一个类似于实际文件的测试html文件?,javascript,html,unit-testing,mocha.js,chai,Javascript,Html,Unit Testing,Mocha.js,Chai,我在html页面中使用了两组单选按钮、一个文本字段和一个提交按钮。这样,在字段中输入数据并单击按钮后,将调用jquery ajax函数来发布数据(我的用例不是重新加载页面)。如何为这个javascript文件编写单元测试?我是否应该创建一个包含上述所有字段的测试html文件 我的html代码: <!DOCTYPE html> <html> <body> <div id="form"> <div id="buttons"> <p&g

我在html页面中使用了两组单选按钮、一个文本字段和一个提交按钮。这样,在字段中输入数据并单击按钮后,将调用jquery ajax函数来发布数据(我的用例不是重新加载页面)。如何为这个javascript文件编写单元测试?我是否应该创建一个包含上述所有字段的测试html文件

我的html代码:

<!DOCTYPE html>
<html>
<body>
<div id="form">
<div id="buttons">
<p>Please select your gender:</p>
  <input type="radio" name="number" value="10"> 10<br>
  <input type="radio" name="number" value="20"> 20<br>
  <input type="radio" name="number" value="40"> 40<br>  

<p>Please select your age:</p>
  <input type="radio" name="number" value="30"> 30<br>
  <input type="radio" name="number" value="60"> 60<br>
  <input type="radio" name="number" value="100"> 100<br>  
</div>
Text Value: <input type="text" name="Text Value" id="text"><br>
<button type="submit" id="submit" value="Submit">Submit</button>
</div>
</body>
</html>

my JS code:
var inputVal = document.getElementById("text").value;
var value= $("input:radio[name=number]:checked").val();
var data = inputVal+" "+value;
var button = document.getElementById("submit");
data = {"data" : JSON.stringify(data)};
button.onclick = function() {
$.ajax({
  url: '/url',
  dataType: 'json',
  data: data,
  success: function() {
    console.log( 'worked');
  },
  error: function() {
    console.log( 'something went wrong');
  }
});
}

请选择您的性别:

10
20
40
请选择您的年龄:

30
60
100
文本值:
提交 我的JS代码: var inputVal=document.getElementById(“text”).value; var值=$(“输入:radio[name=number]:选中”).val(); var数据=输入值+“”+值; var按钮=document.getElementById(“提交”); data={“data”:JSON.stringify(data)}; button.onclick=函数(){ $.ajax({ url:“/url”, 数据类型:“json”, 数据:数据, 成功:函数(){ console.log('worked'); }, 错误:函数(){ log(‘出错了’); } }); }
我很惊讶您的代码一开始就可以工作,因为您在点击事件之外创建数据您知道解决方案吗?如果是,请指导我。当然-将第1-5行(
var-inputVal…
-
data={“data”…
)移到前面提到的
onclick
函数中,您也能回答关于编写测试js文件和测试htmlNo结构的问题吗?我对单元测试一无所知。对不起:)