2010-12-03 13 views
2

私は正常にテストをローカルでnunitで実行しています。しかし、私はチームシティを通してそれらを実行しようとすると、いくつかのテストは合格しましたが、失敗したものは次のエラーを出すことによって失敗しました。チームシティからのテストの実行中にSetUpメソッドが失敗しました

SetUpメソッドが失敗しました。 System.Runtime.InteropServices.COMException:IClassFactoryからCLSID {0002DF01-0000-0000-C000-000000000046}を持つCOMコンポーネントのインスタンスを作成すると、次のエラー(800704a6)が発生しませんでした。 \ Tests.vb:ライン14

WatiN.Core.IE.CreateNewIEAndGoToUri test.SetupでWatiN.Core.IE..ctorで(URIのURI、LogonDialogHandler logonDialogHandler、ブールcreateInNewProcess) () ()C中で
+1

: 次のC#コードは、トリックをしましたか? – Bernard

+0

関連記事http://stackoverflow.com/questions/4364970/failed-due-to-the-following-error-800704a6-while-trying-to-read-data-from-a-text –

+0

別の関連記事http: //stackoverflow.com/a/8797600/75963 –

答えて

0

チームシティーサーバーでNunit経由でテストを実行しようとしましたか?これにより、より多くの情報を得ることができます。

2

解決済みかどうかわかりませんが、VB.NETで書かれた2つの異なるテストフィクスチャ1と同じエラーがC#で書かれていました。 C#の治具用

私はWatIn.IEの新しいインスタンスを作成するとき、私は問題を解決するために必要なすべてが、私は2番目のパラメータを追加します IE VARすなわち=新しいIE(URL、) "true"はWatInに "createInNewProcess"を伝え、新しいプロセスで次のIEを開きます。

しかし、これは何らかの理由でVB.NETで作成されたテストフィクスチャでは機能しませんでした。 このフィクスチャでは、私たちのC#ライブラリの1つでメソッドを呼び出して、各Tests "TearDown"メソッドでIEを強制終了しなければなりませんでした。あなたのテストからWatiNの使用を削除する場合は、あなたのNUnitのテストケースがエラーなしで合格ん

public static void CloseInternetExplorers() 
{ 
    var processes = from process in Process.GetProcesses() 
        where process.ProcessName == "iexplore" 
        select process; 

    foreach (var process in processes) 
    { 
    while (!process.HasExited) 
    { 
     process.Kill(); 
     process.WaitForExit(); 
    } 
    } 
} 
関連する問題