我有一个Visual Studio 2012项目和安装以下的NuGet包:
- 使用起订量自动嘲讽AutoFixture
- Autofixture与xUnit.net数据理论
- AutoFixture
- 起订量
- xUnit.net:扩展
- xUnit.net:运动员
- xUnit.net
鉴于以下做作Logger类(Logger.fs):
namespace FUnit
type public ILoggerContext =
abstract member LogPath :string
type public LoggerContext (logPath :string) =
member val LogPath = logPath with get, set
interface ILoggerContext with
member this.LogPath = this.LogPath
type public Logger () =
member this.Log (context: ILoggerContext) value =
System.String.Format("Logged {0} to {1}.", value, context.LogPath)
和下面的单元测试:
namespace FUnit.Test
open FUnit
type public Math_Add() =
[<Xunit.Extensions.Theory>]
[<Ploeh.AutoFixture.Xunit.AutoData>]
member this.``Should Output Value And Path`` (path :string) =
let context = new LoggerContext(path)
let logger = new Logger()
let expected = System.String.Format("Logged value to {0}.", path)
let actual = logger.Log context "value"
Xunit.Assert.Equal<string>(expected, actual)
测试浏览器确保我所展示的所有测试和建设项目后不承认单元测试。 该项目在生成,一般,或测试输出日志中没有错误或警告建立正确。
如果我取代目前的理论和研究机构Autodata与事实属性属性,测试显示出来。
是AutoFixture在F#测试项目的支持? 任何人都可以复制这一点,知道我做错了吗?