expect(str1).to.equal(str2)即使在str1不等于str2时也会通过
expect(str1).to.equal(str2)即使在str1不等于str2时也会通过
我需要颠倒非常特定格式的json文件中“对象”的顺序。
我写了一个测试来比较expectedResult和实际结果。
测试expect(result).to.equal(expectedResult);
正在通过,即使他们有不同的价值观。我通过将两个变量记录到控制台来确认这一点。为什么会这样?
结果的价值
"result": [
{
"courses_dept": "math",
"courses_avg": 77.00
},
{
"courses_dept": "epse",
"courses_avg": 88.50
},
{
"courses_dept": "math",
"courses_avg": 93.00
},
{
"courses_dept": "epse",
"courses_avg": 92.19
}
]
预期结果的价值:
"result": [
{
"courses_dept": "epse",
"courses_avg": 92.19
},
{
"courses_dept": "math",
"courses_avg": 93.00
},
{
"courses_dept": "epse",
"courses_avg": 88.50
},
{
"courses_dept": "math",
"courses_avg": 77.00
}
]
}
这是代码。
describe("reversify", () => {
it("Should reverse file", ()=> {
let result = "";
let expectedResult = "";
try{
let resultPromise = reversify("./test/json_files/inputs/t1.json");
let expectedResultPromise = readJsonFile("./test/json_files/outputs/t1.json");
//AS OF NOW THIS JUST READS THE FILE, HENCE TEST SHOULD FAIL
resultPromise.then((data) =>{
console.log('Result is: ', data);
result = JSON.stringify(data);
});
expectedResultPromise.then(data => {
expectedResult = JSON.stringify(data);
console.log("Expected Result is: ",data);
});
} catch(err) {
throw (err);
} finally {
expect(result).to.equal(expectedResult);
}
});
});
回答如下:
你的expect
声明将在解决承诺之前执行,使得result
和expectedResult
的值在执行时等于""
。您可以使用await
等待承诺得到解决。
最新文章
- 参考文档一:性能测试
- Http Digest 认证
- 综艺节目php灭灯
- includes的使用
- 简略写dump文件
- Window Server 2008虚拟机安装
- [转]MinGW与MSYS
- 【转】解决shiro的Principal属性动态修改无效问题
- Service Principal 介绍
- mmap。
- VSS使用帮助2
- 对前途迷茫时多看看
- 排列 组合 算法(一)
- HashTable 使用
- SVM算法实现(一)
- 中国剩余定理 (51nod 1079)
- extern 声明用法
- R reticulate 设置 python 环境
- Python 爬取网页
- 基于直方图的图像增强算法(HE、CLAHE)之(二)