AutoFixture in F# UnitTest Project Not Displaying Unit Tests in Test Explorer -
i have visual studio 2012 project , following nuget packages installed:
- autofixture auto mocking using moq
- autofixture xunit.net data theories
- autofixture
- moq
- xunit.net: extensions
- xunit.net: runners
- xunit.net
given following contrived logger class (logger.fs):
namespace funit type public iloggercontext = abstract member logpath :string type public loggercontext (logpath :string) = member val logpath = logpath get, set interface iloggercontext member this.logpath = this.logpath type public logger () = member this.log (context: iloggercontext) value = system.string.format("logged {0} {1}.", value, context.logpath) and following unit test:
namespace funit.test open funit type public math_add() = [<xunit.extensions.theory>] [<ploeh.autofixture.xunit.autodata>] member this.``should output value , path`` (path :string) = let context = new loggercontext(path) let logger = new logger() let expected = system.string.format("logged value {0}.", path) let actual = logger.log context "value" xunit.assert.equal<string>(expected, actual) the test explorer not recognize unit test after ensuring i'm showing tests , building project. project builds correctly no errors or warnings in build, general, or test output logs.
if replace current theory , autodata attributes fact attribute, test shows up.
is autofixture supported in f# test projects? can else replicate , know i'm doing wrong?
i think issue conflicting versions of xunit.extensions used ploeh.autofixture.xunit , test runner.
if run tests using xunit's runners should see exception complaining not being able find specific version of xunit.extensions.
you can fix adding binding redirects test projects app.config. since you're using nuget can have generate binding redirects running in package manager console test project.
add-bindingredirect you can tweak generated binding redirects in app.config more specific if want.
once rebuild project should see test appear in vs test explorer.
Comments
Post a Comment