2011-06-15 60 views
0

最近,我一直在使用Selenium来记录一些简单的测试。尽管硒测试最初存储为html文件,但该程序允许您以各种语言(在这种情况下,我使用C#)导出测试用例。NUnit运行时加载程序集问题(FileNotFoundException)

我下载了NUnit作为我的测试框架 - 然后我可以将一个特定的导出C#文件作为一个项目加载到NUnit中。

我还创建了一个简单的网络应用程序,我可以点击一个按钮来启动NUnit并运行一些测试。问题是,我不断收到此错误消息:

System.IO.FileNotFoundException:找不到文件或程序集名称nunit.core或其某个依赖项。

一旦我退出此弹出窗口,NUnit会根据需要打开,但是,测试不会加载。 Web应用程序背后的源代码如下所示:

public void ButtonClick1(object sender, System.EventArgs e) 
{ 
    ProcessStartInfo proc1 = new ProcessStartInfo("C:\\selenium-remote-control 
1.0.3\\selenium-dotnet-client-driver-1.0.1\\source\\tools\\nunit\\nunit-gui", "TestProject14.dll"); 

    System.Diagnostics.Process.Start(proc1); 
} 

基本上我只是想创建一个新的过程,启动NUnit的GUI和运行测试。我不确定它是否找不到.dll或者是否有其他问题。

任何帮助将不胜感激 - 这是我的第一篇文章,所以如果我错过了一些完全明显的东西,我提前道歉。谢谢!

回答

0

您需要将进程的WorkingDirectory设置为NUnit目录。如果你不这样做,工作目录将是应用程序执行的目录。

我建议建立一个ProcessInfo对象,包含该过程的所有细节并将其传递给Process构造函数。

+0

我试过了,并且我收到一条新的错误消息,指出该文件不存在。我下载了一个更新版本的nunit,并再次完成了这个过程。 gui打开并尝试运行测试,但由于某种原因,远程控制窗口无法启动。所以我不知道现在的问题是什么...... – erinpzk 2011-06-20 19:55:51

1

你有

using nunit.framework; 

在你的代码的顶部?

其次,你是否在你的参考列表中包含了对nunit.core dll的实际引用?如果没有,请右键单击“参考”并单击添加参考。找到nunit.core.dll并附加它

+0

是的,我在我的代码的顶部包括'使用nunit.framework'。我还添加了对nunit.core dll的引用 - 这对我来说似乎很奇怪。如果添加了引用,为什么nunit无法找到它?还有其他地方我需要存储该DLL以及? – erinpzk 2011-06-16 12:40:46

+0

我有一个问题,我在某个地方引用了一个.dll文件夹以外的地方。这是通过实际将dll复制到项目的依赖关系文件夹来解决的。看看是否改变任何东西 – Alan 2011-06-17 18:10:55

+0

我没有看到我的项目文件夹中任何地方的依赖关系文件夹。 Bin,Obj和Properties是列出的唯一文件夹。我正在使用Visual Studio 2010。我试图在各种地方存储.dll(bin显然是其中之一),但我仍然遇到错误。有没有其他地方可以考虑放置.dll? – erinpzk 2011-06-20 13:02:35

相关问题