내가 난처한 상황에 빠진거야 ...이 내가 꽤 잘 작동있어 perform unit tests on Windows FormsPostSharp 스레딩 툴킷 측면 윈도우는 단위 테스트를 양식에 영향을 미치는 결과
에 반사와 람다 대의원를 사용하여 내 앞의 질문에 대한 후속 게시물이고, 이제 이것을 사용하여 특정 NFR을 확인할 수 있습니다.
var monitor = new SemaphoreSlim(1);
monitor.Wait();
var form = new SomeForm();
form.SetControlProperty<TextBox>("tbFirstName", "Text", firstName);
form.SetControlProperty<TextBox>("tbLastName", "Text", lastName);
form.ObserveControlEvents<DataGridView>("dataGridView1", "DataSourceChanged",
(sender, args) =>
{
Trace.WriteLine("Occured in delegate");
monitor.Release();
});
Trace.WriteLine("Executing");
var sw = form.ClickButton("btnSearch");
monitor.Wait();
sw.Stop();
그러나, 나는 [BackgroundMethod] 및 [DispatchedMethod, 테스트가 성공하지만, 데이터가 실제로 시험 형태로 삽입되지 내 검색 및 DataGridView.DataSource 업데이트 방법을 장식합니다. 즉, DataGridView에 0 개의 레코드가있는 0ms 단위로 테스트가 완료됩니다.
PostSharp 2.1.7.35 및 2.1.1.12 PostSharp Threading Toolkit을 사용하고 있습니다.
이 문제의 원인은 무엇일까요?
UnitTest 빌드 구성을 만들고 SkipPostSharp 컴파일 기호를 사용하는 경로를 시도했지만 사용하기가 자연스럽지 않고 다른 문제가있었습니다. 내가 작업 공장 방법을 사용하고 delegate 내 UI 업데이트를 수행 할 경우
UPDATE
, 그냥 잘 작동합니다.
UPDATE 내가있는 BackgroundWorker를 사용하는 경우 그것은 또한 작동이
. 3
UPDATE 사실, BackgroundWorker에 제대로 작업 완료에 이벤트가 발생하지 않았다.
그래서 PostSharp는 단위 테스트를 제동하기 위해 무엇을 만들었습니까?
이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. –
흠 ... 내 대답은 ... 그리고 나는 단지 같은 코드를 복사하여 붙여 넣기를 게으른 것이었다. – Darek
더 좋습니까? – Darek