F#下的xUnit测试:看起来像你';正在尝试执行xUnit.net单元测试(';System.ArgumentException';发生在xUnit.runner.utility.dll中) 0我的设置如下 1.packages.config中的内容: 4.我的测试文件:

F#下的xUnit测试:看起来像你';正在尝试执行xUnit.net单元测试(';System.ArgumentException';发生在xUnit.runner.utility.dll中) 0我的设置如下 1.packages.config中的内容: 4.我的测试文件:,f#,xunit,F#,Xunit,问题: 我做错了什么? 更新: 这是我在调试模式下运行时所说的: 'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Symbols loaded. 'ProcessInvocation86.exe' (Managed (v4.0.30319)

问题:

我做错了什么?

更新:

这是我在调试模式下运行时所说的:

'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Program Files (x86)\TestDriven.NET 3\ProcessInvocation86.exe'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Program Files (x86)\TestDriven.NET 3\TestDriven.TestRunner.Server.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Remoting\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Program Files (x86)\TestDriven.NET 3\TestDriven.TestRunner.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Program Files (x86)\TestDriven.NET 3\TestDriven.Framework.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Mine\MyProject\packages\xunit.1.9.1\lib\net20\xunit.runner.tdnet.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Mine\MyProject\bin\Debug\MyProject.Testing.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Mine\MyProject\packages\xunit.1.9.1\lib\net20\xunit.runner.utility.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'xunit.runner.utility.{Dynamic}'
A first chance exception of type 'System.ArgumentException' occurred in xunit.runner.utility.dll
The thread 'TestRunnerThread' (0x13b0) has exited with code 0 (0x0).
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Program Files (x86)\TestDriven.NET 3\AdHoc\TestDriven.AdHoc.dll'
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Mine\MyProject.Testing\bin\Debug\MyProject.Testing.dll', Symbols loaded.
'ProcessInvocation86.exe' (Managed (v4.0.30319)): Loaded 'C:\Mine\MyProject\MyProject.Testing\bin\Debug\xunit.dll'
The thread 'TestRunnerThread' (0x504) has exited with code 0 (0x0).
The program '[1136] ProcessInvocation86.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).
你有两个问题:

  • 你的事实被打破了:-

    如果你悬停在

    请工作

    位,您将看到如下内容:
    unit->int

    对于要被xUnit运行程序拾取的
    事实,它需要产生`unit(void)

    因此,首先要做的一件关键事情是不要返回任何东西。换句话说,用
    ()
    (或断言)替换
    123

    您可以通过在测试中加入
    :unit
    规定来防止这种情况:-

    [<Fact>]
    let ``please work`` () : unit = 123
    
    []
    让``请工作`():单位=123
    
    这将导致编译错误

  • TestDriven.NET找不到xunit.tdnet模块

    请尝试基于VS的runner,只要它已安装且xunit.dll正在进入输出目录,该runner就可以工作,或者查看TD.NET版本的文档以获取详细的疑难解答说明(exec summary是指.tdnet文件在out dir中,或者您从包含它应该可以正常工作的包的文件夹中撤消并重做xunit.installer,尤其是在使用最新版本的情况下)

  • 你有两个问题:

  • 你的事实被打破了:-

    如果你悬停在

    请工作

    位,您将看到如下内容:
    unit->int

    对于要被xUnit运行程序拾取的
    事实,它需要产生`unit(void)

    因此,首先要做的一件关键事情是不要返回任何内容。换句话说,用
    ()
    (或断言)替换
    123

    您可以通过在测试中加入
    :unit
    规定来防止这种情况:-

    [<Fact>]
    let ``please work`` () : unit = 123
    
    []
    让``请工作`():单位=123
    
    这将导致编译错误

  • TestDriven.NET找不到xunit.tdnet模块

    请尝试基于VS的runner,只要它已安装且xunit.dll正在进入输出目录,该runner就可以工作,或者查看TD.NET版本的文档以获取详细的疑难解答说明(exec summary是指.tdnet文件在out dir中,或者您从包含它应该可以正常工作的包的文件夹中撤消并重做xunit.installer,尤其是在使用最新版本的情况下)

  • 你有两个问题:

  • 你的事实被打破了:-

    如果你悬停在

    请工作

    位,您将看到如下内容:
    unit->int

    对于要被xUnit运行程序拾取的
    事实,它需要产生`unit(void)

    因此,首先要做的一件关键事情是不要返回任何内容。换句话说,用
    ()
    (或断言)替换
    123

    您可以通过在测试中加入
    :unit
    规定来防止这种情况:-

    [<Fact>]
    let ``please work`` () : unit = 123
    
    []
    让``请工作`():单位=123
    
    这将导致编译错误

  • TestDriven.NET找不到xunit.tdnet模块

    请尝试基于VS的runner,只要它已安装且xunit.dll正在进入输出目录,该runner就可以工作,或者查看TD.NET版本的文档以获取详细的疑难解答说明(exec summary是指.tdnet文件在out dir中,或者您从包含它应该可以正常工作的包的文件夹中撤消并重做xunit.installer,尤其是在使用最新版本的情况下)

  • 你有两个问题:

  • 你的事实被打破了:-

    如果你悬停在

    请工作

    位,您将看到如下内容:
    unit->int

    对于要被xUnit运行程序拾取的
    事实,它需要产生`unit(void)

    因此,首先要做的一件关键事情是不要返回任何内容。换句话说,用
    ()
    (或断言)替换
    123

    您可以通过在测试中加入
    :unit
    规定来防止这种情况:-

    [<Fact>]
    let ``please work`` () : unit = 123
    
    []
    让``请工作`():单位=123
    
    这将导致编译错误

  • TestDriven.NET找不到xunit.tdnet模块

    请尝试基于VS的runner,只要它已安装且xunit.dll正在进入输出目录,该runner就可以工作,或者查看TD.NET版本的文档以获取详细的疑难解答说明(exec summary是指.tdnet文件在out dir中,或者您从包含它应该可以正常工作的包的文件夹中撤消并重做xunit.installer,尤其是在使用最新版本的情况下)

  • 我不能责备这件事

    以下是我所做的:

  • 开放VS2013,TD.NET 3.5 RC
  • 创建一个F#项目,Windows->Library(.NET 4.5)
  • 从软件包管理器控制台运行“安装软件包xunit-版本1.9.1”
  • 从软件包管理器控制台运行“安装软件包fsunit.xunit-版本1.2.1.2”
  • 将Library1.fs的内容替换为:
  • 模块FsTestSample 开放式Xunit 打开FsUnit.Xunit [] 让``请工作`()=123 我将光标放在“请工作”中,右键单击,然后单击“运行测试”。测试运行,输出如下:

    ------ Test started: Assembly: FsTestSample.dll ------ 1 passed, 0 failed, 0 skipped, took 0.50 seconds (xUnit.net 1.9.1 build 1600). ------测试已启动:程序集:FsTestSample.dll------ 通过1次,失败0次,跳过0次,耗时0.50秒(xUnit.net 1.9.1 build 1600)。 我甚至将“=123”更改为“=123/0”,只是为了验证测试失败,出现了一个被零除的异常(它确实失败了)。

    我无法重新编程

    以下是我所做的:

  • 开放VS2013,TD.NET 3.5 RC
  • 创建一个F#项目,Windows->Library(.NET 4.5)
  • 从软件包管理器控制台运行“安装软件包xunit-版本1.9.1”
  • 从软件包管理器控制台运行“安装软件包fsunit.xunit-版本1.2.1.2”
  • 替换了Librar的内容
    [<Fact>]
    let ``please work`` () : unit = 123
    
    module FsTestSample open Xunit open FsUnit.Xunit [<Fact>] let ``please work``() = 123 ------ Test started: Assembly: FsTestSample.dll ------ 1 passed, 0 failed, 0 skipped, took 0.50 seconds (xUnit.net 1.9.1 build 1600).