为了简化,让我们看看这个函数获取日期并返回一个修改日期(一天开始):
const getStartOfDay = date => {
const newDate = new Date(date);
newDate.setHours(0, 0, 0, 0);
return newDate;
}
现在我想用无效值实现一些测试,例如:getStartOfDay(new Date("HELLO"));
函数返回Date(Invalid Date)
。
我试着测试:
expect(util.getStartOfDay("hello")).toBe(new Date("hello"));
但我明白了:
预期日期(无效日期)等于日期(无效日期)。
与toEquals()
...
我与getTime()
比较的其他日期但在这里我不能......所以我被卡住了......
我对如何测试有任何想法?
答案 0 :(得分:1)
这是因为在JS <rect class="bar" x="1" transform="translate(0,24.06417112299465)" width="101" height="275.93582887700535"></rect>
中,无效日期有NaN != NaN
时间。因此,您可以检查NaN
是util.getStartOfDay("hello").getTime()
NaN
答案 1 :(得分:1)
来自Detecting an "invalid date" Date instance in JavaScript的一些见解。
[TestMethod()]
public void ParseParameterTest()
{
Algo.Alpha.AlphaCalculator calc = new Alpha.AlphaCalculator();
string test_input = File.ReadAllText(@"..\..\..\case\Alpha Example Input.json");
string expected = File.ReadAllText(@"..\..\..\case\Alpha Example DOutput.json");
string res = calc.AlphaCalcParam(test_input);
Assert.AreEqual(expected, res);
}