Mock objectpublic class MockService:IWebService{public string LastError;public void LogError(string message){LastError = message;}}[Test]public void Analyze_TooShortFileName_CallsWebService(){MockService mockService = new MockService();LogAnalyzer log = new LogAnalyzer(mockService);string tooShortFileName="abc.ext";log.Analyze(tooShortFileName);Assert.AreEqual("Filename too short:abc.ext",mockService.LastError);}public class LogAnalyzer{PRivate IWebService service;public LogAnalyzer(IWebService service){this.service = service;}public void Analyze(string fileName){if(fileName.Length<8){service.LogError("Filename too short:"+ fileName);}}}
不需要对私有方法进行单元测试(在满足第三条的情况下),理由如下:
新闻热点
疑难解答