0
我正在開發基於java的項目。它具有如此多的依賴性。根據需要,每個進程都與服務器交互。我們可以使用任何單元測試嗎?如果是,例如&如果沒有原因。如何對具有95%依賴性的java項目進行單元測試。
我正在開發基於java的項目。它具有如此多的依賴性。根據需要,每個進程都與服務器交互。我們可以使用任何單元測試嗎?如果是,例如&如果沒有原因。如何對具有95%依賴性的java項目進行單元測試。
是的,你可以在這種情況下使用測試。 您必須使用某種形式的模擬(Moq框架)來模擬服務器資源。
其中一個重要步驟是使用依賴注入。爲了使用Moq框架,您需要進行大量的代碼重構。例如,
class WeatherReportDisplay
{
WeatherServerSomeWhereInIowa objserver = new WeatherServerSomeWhereInIowa();
void PrintWeatherReport()
{
foreach (var item in objserver.Weather.Items)
{
Println(item.City + " " + item.temprature);
}
}
}
你必須測試時,可以在改變這種形式的代碼
class WeatherReportDisplay
{
IWeatherServer objserver;
// Constructor Injection
WeatherReportDisplay(IWeatherServer server)
{
if (server == null) throw new Exception("please send a server");
this.objServer = server;
}
string WeatherReport()
{
return objServer.City + " " + objServer.temprature);
}
}
這
class UnitTest
{
void Should_Return_NewYork_20DegreeBelowZero()
{
WeatherReportDisplay obj = new WeatherReportDisplay(new MockServer);
var result = obj.PrintWeatherReport ();
Assert.IsEqual(result, "NewYork_20DegreeBelowZero");
}
}
謝謝......但我們發現定期實施jmetter。它幫助我們進行單元測試以及性能測試。 –
我想不出任何Java源代碼,不能單元測試。有像Mockito,PowerMock這樣的嘲笑框架可以讓你嘲笑一切。 – Manish