由于 F# 记录是真正的密封类,我不能存根记录类型。是否有一个属性我可以放在 F# 中的记录上,这样它就不会被编译为密封,以便我可以存根记录?
type Quote = {a:string}
mock<Quote>
这抛出
System.TypeLoadException:无法从程序集“DynamicProxyGenAssembly2,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“Castle.Proxies.QuoteProxy”,因为父类型是密封的。
如果你很好奇。这是模拟的定义:
let mock<'typee when ^typee : not struct> = Substitute.For<'typee>()