Jasmine 茉莉花:为什么要被罚款,而不是被罚款?

Jasmine 茉莉花:为什么要被罚款,而不是被罚款?,jasmine,Jasmine,我正在学习Jasmine库,我注意到Jasmine的内置断言数量非常有限。我还注意到,尽管数量有限,但它的两个断言似乎是多余的:toBeDefined/toBeUndefined 换言之,这两种方法似乎都在检查同一件事: expect(1).toBeDefined(); expect(undefined).not.toBeUndefined(); 是否有某种原因,例如toBeDefined与toBeUndefined不同?或者这仅仅是Jasmine中的一个断言,它有两种完全相同的调用方式?对于

我正在学习Jasmine库,我注意到Jasmine的内置断言数量非常有限。我还注意到,尽管数量有限,但它的两个断言似乎是多余的:
toBeDefined
/
toBeUndefined

换言之,这两种方法似乎都在检查同一件事:

expect(1).toBeDefined();
expect(undefined).not.toBeUndefined();

是否有某种原因,例如
toBeDefined
toBeUndefined
不同?或者这仅仅是Jasmine中的一个断言,它有两种完全相同的调用方式?

对于
toBeTruthy
toBeFalsy
,或者
toBeLessThan
toBeGreaterThan
,人们可能会假设相同的断言(尽管我猜最后两个断言中缺少的断言是
toEqual
)。最后,它归结为可读性和用户偏好

为了给您一个更完整的答案,查看为这些函数调用的代码可能会很有用。执行的代码通过不同的路径(因此
toBeUndefined
不仅仅是
!toBeDefined
)。唯一有意义的真正答案是可读性(或者屈服于烦人的特性请求)

“托比…还是不,托比…”-这就是问题所在。我整个星期都在这里,伙计们