실행중인 Specflow 테스트 세트가 있는데 각 시나리오 완료 후 파일에 결과를 쓰려고합니다. 전체 시운전이 끝나면 다시 기록하십시오. 테스트를 디버그 모드로 실행하면 각 시나리오가 끝난 후이 코드가 실행되지만 모든 테스트가 끝나면 파일이 Windows 탐색기에만 표시됩니다 (또는 테스트가 강제로 중지됩니다). 파일에 쓰는 아래 코드는 Specflow 테스트 프로젝트에 대한 별도의 프로젝트에 있습니다.응용 프로그램이 끝날 때까지 C# 파일이 쓰여지지 않습니다.
나는 원래 홍조와 StreamWriter를 대신이 있었다되지 않은 :
using (var file = new FileInfo(filePath).AppendText())
을하지만 내가 추가 세척, 닫기, 다음 프로세스를 추가 인터넷에서 다양한 예제를보고 난 후에, 작동하지 않는. 시작, StreamWriter로 변경되었으며 아무도 도움이되지 않았습니다. 여전히 작동하지 않는 현재의 코드입니다 : 나는 마침내 완료하고 파일 속성의 생성, 수정 및 액세스 한 날짜 때 출력 파일 만 3 선이 노력하고있어 예에서
private string rootFolderPath = Directory.GetParent(@"..\..\..\..") [email protected]"\";
public void WriteAllTestScenarioNames(List<ScenarioResult> results, string fileName, string directoryName)
{
results.Sort();
Directory.CreateDirectory(rootFolderPath + directoryName);
string filePath = rootFolderPath + directoryName + @"\" + fileName;
using (var file = new System.IO.StreamWriter(filePath))
{
file.WriteLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());
foreach (var scenarioResult in results)
{
file.WriteLine(scenarioResult.ToString());
}
file.Flush();//flush the file to ensure that it's written now
file.Close();//flush the file to ensure that it's written now
}
Process.Start(filePath); //flush the file to ensure that it's written now
}
Windows 탐색기의 경우 동일합니다.
내가 윈도우 7 엔터프라이즈 SP1을 사용하고 .NET 프레임 워크 64 비트 4.5.2 파일이 작성되고있는 것으로 보인다
아마도 내가 언급 한 것을 잊어 버렸습니다. 파일을 쓰는 클래스는 Specflow 테스트 프로젝트와 다른 프로젝트/어셈블리에 있습니다. – Steve