我想创建自己的断言类。我尝试安装mocha和chai,但是从这些模块深处获得了很多很多错误,所以目前我宁愿尝试一些自建的东西,如果不是至少要学习更多的TypeScript。构建自己的断言类
我找到了一个好的模板(https://gist.github.com/brunolm/6031927),并且IsFalse,IsTrue,AreEqual的实现工作得很好。我用一个IsNullOrUndefined扩展它以满足我的需求,迄今为止都是很好的。
我也想使用IsInstanceOf测试。它是这样实现的:
public static IsInstanceOfType(expectedType: Function, actual: any): void {
if (!(actual instanceof expectedType)) {
// some more code to construct a message, and throw
}
}
虽然我无法获得该代码的工作。我不知道如何/作为第一个参数传递什么。我尝试这样
Assert.IsInstanceOfType((): List<string> => { return undefined; }, list);
与列表<>是我自己的泛型集合类,以及列表是它(或不...这是找出)的实例。
上面的代码编译,但失败,即使它不应该断言失败。我发现“传递函数返回你期望的类型”很奇怪,如果可能的话,会更喜欢更好的东西。 如果这是要走的路,那么我错误地使用它 - 你会如何使用它?
我问笔者,他建议我应该这样调用
Assert.IsInstanceOfType(List<string>, list);
但是,这并不与编译器,这不可能是正确的,或者是办理什么手续?我无法实现它 - 这是写出来的类型,不是函数?!?
有什么建议吗?
我在此处显示的功能参数顺序与原始链接类相比进行了切换。可悲的是,这还不是解决问题的办法。如何传递参数的问题,而不是它们的放置顺序... – Ralf