我System.Net.WebSockets.ClientWebSocket在 .NET 4.7 应用程序中使用,并且在尝试使依赖于它的代码可测试时遇到问题。ClientWebSocket是一个密封类,它定义了两个不属于抽象基类的成员(Options和) 。因此,我不能模拟也不能使用,使得单元测试基本上不可能。ConnectAsyncWebSocketClientWebSocketWebSocket
我想知道是否有人知道 .NET 的可模拟的替代 Web 套接字客户端(即只需一个非常薄的对象适配器就ClientWebSocket足够了)或任何其他可行的测试依赖于 .NET 的代码的方法ClientWebSocket。
我正在尝试使用 FsUnit.Xunit 断言某种异常类型和消息。FsUnit附带了一些throwWithMessage功能。但是,当使用它代替throw函数 fsc 时,会发出以下错误:
C:\src\foo.fs(29,12): error FS0001: This expression was expected to have type '(unit -> unit) -> 'a' but here has type 'unit'
C:\src\foo.fs(29,19): error FS0001: The type ''a -> NHamcrest.Core.CustomMatcher<obj>' is not compatible with the type 'NHamcrest.IMatcher<obj>'
C:\src\foo.fs(29,12): error FS0001: This expression was expected to have type '(unit -> unit) -> 'a' but here has type 'unit'
Run Code Online (Sandbox Code Playgroud)
这是无法编译的测试:
[<Fact>]
let ``Some test`` () =
(fun () -> This.Throws("a", 10) |> ignore)
|> should …Run Code Online (Sandbox Code Playgroud)