use*_*351 4 c# ubuntu mono nunit
如何从命令行在Ubuntu上运行NUnit测试?
我已经创建了文件OnlyTest.cs
using System;
using System.Text;
using System.Collections.Generic;
using NUnit.Framework;
[TestFixture]
public class OnlyTest
{
[Test]
public void MyTest()
{
int a = 10;
Assert.AreEqual(10, a);
}
}
Run Code Online (Sandbox Code Playgroud)
根据在Linux上运行NuGet命令行的文章,我已经下载了NuGet.exe和Microsoft.Build.dll文件
我已经运行NuGet来安装NUnit
$ mono NuGet.exe安装NUnit
安装“ NUnit 2.6.4”。
已成功安装“ NUnit 2.6.4”。
$ ls -lR
::
razem 1668
-rw-rw-r-- 1 mw mw 28861 cze 24 23:45 Microsoft.Build.zip
-rw-rw-r-- 1 mw mw 1664512 cze 24 23:42 NuGet.exe
drwxrwxr-x 3 MW MW 4096捷克25 00:29 NUnit.2.6.4
-rw-rw-r-- 1 mw mw 208 cze 25 00:27 OnlyTest.cs
./NUnit.2.6.4:
razem 108
drwxrwxr-x 2 mw mw 4096捷克25 00:29 lib
-rw-rw-r-- 1 mw mw 1131 cze 25 00:29 license.txt
-rw-rw-r-- 1 mw mw 99004 cze 25 00:29 NUnit.2.6.4.nupkg
./NUnit.2.6.4/lib:
razem 720
-rw-rw-r-- 1 mw mw 151552 cze 25 00:29 nunit.framework.dll
-rw-rw-r-- 1 mw mw 584600 cze 25 00:29 nunit.framework.xml
由于我不确定编译和运行
编译没有产生任何错误
mcs OnlyTest.cs -target:library -r:NUnit.2.6.4 / lib / nunit.framework.dll -out:OnlyTest.dll
但是当我尝试运行nunit时会出现类似
$ nunit-Console OnlyTest.dll -noresult NUnit控制台版本2.6.0.0 版权所有(C)2002-2012 Charlie Poole。 版权所有(C)2002-2004 James W.Newkirk,Michael C.Two,Alexei A.Vorontsov。 版权所有(C)2000-2002 Philip Craig。 版权所有。 运行环境 - 操作系统版本:Unix 3.16.0.30 CLR版本:4.0.30319.17020(Mono 4.0(3.2.8(Debian 3.2.8 + dfsg-4ubuntu1.1))) ProcessModel:默认域用法:Single 执行时间:mono-4.0 程序集/[MY_PATH]/OnlyTest.dll中缺少方法.ctor,键入NUnit.Framework.TestFixtureAttribute 找不到自定义attr构造函数图像:/[MY_PATH]/OnlyTest.dll mtoken:0x0a000001 无法加载文件或程序集'nunit.framework,版本= 2.6.4.14350,区域性=中性,PublicKeyToken = 96d09a1eb7f44a77'或其依赖项之一。
同样的道理 nunit-gui
Could not load file or assembly 'nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77'
Run Code Online (Sandbox Code Playgroud)
检查已安装的nunit-console / nunit程序集...我假设它正在GAC中拾取旧程序集。
让我们从头开始:
获取最新最好的NUnit 及其 Runner工具
curl https://api.nuget.org/downloads/nuget.exe -o nuget.exe
mono nuget.exe install NUnit
mono nuget.exe install NUnit.Runners
Run Code Online (Sandbox Code Playgroud)
确保单声道首先找到那些程序集(相对于GAC)
export MONO_PATH=$(PWD)/NUnit.Runners.2.6.4/tools:$(PWD)/NUnit.2.6.4/lib
Run Code Online (Sandbox Code Playgroud)
创建您的测试示例并进行编译:
vi OnlyTest.cs #Using the example in your question
mcs OnlyTest.cs -target:library -r:NUnit.2.6.4/lib/nunit.framework.dll -out:OnlyTest.dll
Run Code Online (Sandbox Code Playgroud)
运行:
mono ./NUnit.Runners.2.6.4/tools/nunit-console.exe OnlyTest.dll -noresult
Run Code Online (Sandbox Code Playgroud)
输出:
Using default runtime: v4.0.30319
NUnit-Console version 2.6.4.14350
Copyright (C) 2002-2012 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.
Runtime Environment -
OS Version: Unix 14.3.0.0
CLR Version: 4.0.30319.17020 ( Mono 4.0 ( 4.3.0 (master/b044a27 Thu Jun 18 15:17:08 PDT 2015) ) )
ProcessModel: Default DomainUsage: Single
Execution Runtime: mono-4.0
.
Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.0280499 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6825 次 |
| 最近记录: |