자동화 된 테스트를 작성해야하는 명령 줄 도구가 있습니다. 우리의 테스트 프레임 워크는 C#으로 작성되었으며 자동화를 할 수있는. NET 라이브러리를 찾고있었습니다 (프로세스 클래스를 사용할 수 있음을 알고 IO를 리디렉션하고 유효성 검사를 수행하지만 휠을 다시 작성하고 싶지는 않습니다.) 가능하다면). 이상적으로 저는 expect 라이브러리를 찾고 있습니다. 어떤 제안?명령 줄 자동화 - 동급 예상
7
A
답변
0
나는 이것이 오래된 질문이라는 것을 알고 있지만 아무도 대답하지 못했습니다.
IMO, 나는 이것을 처리 할 때마다 (즉, 프로세스 클래스, StdIO, StdErr 등을 리디렉션하고 출력을 구문 분석 할 때마다) 항상 바퀴를 다시 만들어야했습니다. 생각, 나는이 목적을 위해 추상 기본 클래스를 재사용했다.
어쩌면 누군가 다른 사람이이 일을하는 라이브러리를 알고 있지만 그렇지 않습니다.
그러나 IO를 리디렉션하는 것이 .Net 프레임 워크에서 항상 올바르게 처리되지 않는 경우가 있다는 경고를 보냅니다 (프로그램을 stdio 또는 stderr에 쓰는 방법에 따라, 창을 숨길 지 여부에 따라 다름) , 멀티 스레딩 및 기타 몇 가지 조건) 경쟁 조건으로 인해 무기한 정지가 발생합니다.
-2
http://blog.iwanek.eu/expect-net/
using ExpectNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ExampleApp
{
class Program
{
static void Main(string[] args)
{
try
{
Console.WriteLine("ExampleApp");
Session spawn = Expect.Spawn(new ProcessSpawnable("cmd.exe"));
spawn.Expect("c:", s => Console.WriteLine("got: " + s));
}
}
}