1
我已經爲我們正在構建的應用程序編寫了一套基本的Selenium集成測試套件。他們的工作很棒。唯一的問題是應用程序需要在測試運行之前進行預先部署和運行。如何從集成測試代碼啓動我的ASP.NET應用程序?
如何從集成測試代碼啓動ASP.NET MVC應用程序?
我已經爲我們正在構建的應用程序編寫了一套基本的Selenium集成測試套件。他們的工作很棒。唯一的問題是應用程序需要在測試運行之前進行預先部署和運行。如何從集成測試代碼啓動我的ASP.NET應用程序?
如何從集成測試代碼啓動ASP.NET MVC應用程序?
我想通了如何啓動我的應用程序我運行MS生成並基本上傳遞的路徑,標誌和開始一個新的IISExpress過程中承載它:
ProcessStartInfo processStartInfo = new ProcessStartInfo()
{
ErrorDialog = false,
CreateNoWindow = true,
UseShellExecute = false,
Arguments = string.Format("/path:\"{0}\" /port:{1}", this.pathToSite, this.portNumber)
};
string path = (!string.IsNullOrEmpty(processStartInfo.EnvironmentVariables["programfiles(x86)"]) ? processStartInfo.EnvironmentVariables["programfiles(x86)"] : processStartInfo.EnvironmentVariables["programfiles"]) + "\\IIS Express\\iisexpress.exe";
processStartInfo.FileName = path;
this.iisProcess = new Process
{
StartInfo = processStartInfo
};
this.iisProcess.Start();
希望這有助於未來的傢伙。否則,我會把這裏留下來供我自己參考。我將所有這些包裝在啓動TestFixtureSetup時調用的方法中。當然我在TestFixtureTearDown上運行
public void Shutdown()
{
if(this.IisExpressProcess == null)
{
return;
}
this.IisExpressProcess.Stop();
}
。
有沒有辦法使用SSL來做到這一點? –
我沒有看到Stop()方法。 Close()不會停止IIS Express並且Kill拋出InvalidOperationException –