Unit testing 颤振:单元测试
我正在尝试测试此函数:Unit testing 颤振:单元测试,unit-testing,testing,dart,flutter,Unit Testing,Testing,Dart,Flutter,我正在尝试测试此函数: setToday(Map filters) { if (filters['today'] == false) { filters['yesterday'] = false; filters['lastWeek'] = false; filters['lastMonth'] = false; filters['customRange'] = false; filters['today'] = true
setToday(Map filters) {
if (filters['today'] == false) {
filters['yesterday'] = false;
filters['lastWeek'] = false;
filters['lastMonth'] = false;
filters['customRange'] = false;
filters['today'] = true;
} else
filters['today'] = false;
}
这就是测试:
test("", (){
Map<String, bool> filters = {
"today" : false,
"yesterday" : false,
"lastWeek" : false,
"lastMonth" : false,
"customRange" : false,
};
expect(_kpiFilterViewController.setToday(filters), filters["today"] == true);
});
测试(“,(){
映射过滤器={
“今天”:假,
“昨天”:假,
“上周”:错,
“上个月”:假,
“customRange”:false,
};
expect(_kpiFilterViewController.setToday(过滤器),过滤器[“today”]==true);
});
但结果是:
Expected: <true>
Actual: <null>
预期:
实际:
我的错误是什么?测试中的函数没有返回任何内容,因此调用
_kpiFilterViewController.setToday(filters)
在expect中,断言将失败
test("filters[today] value should be true", () {
//Arrange
Map<String, bool> filters = {
"today" : false,
"yesterday" : false,
"lastWeek" : false,
"lastMonth" : false,
"customRange" : false,
};
bool expected = true;
//Act (call the method under test)
_kpiFilterViewController.setToday(filters);
//Assert (verify expected behavior)
bool actual = filters["today"];
expect(actual, expected);
});
test(“filters[today]值应为true”,(){
//安排
映射过滤器={
“今天”:假,
“昨天”:假,
“上周”:错,
“上个月”:假,
“customRange”:false,
};
布尔期望值=真;
//Act(调用测试中的方法)
_kpiFilterViewController.setToday(过滤器);
//断言(验证预期行为)
bool实际值=过滤器[“今天”];
期望(实际的,期望的);
});
参考资料非常感谢!