次のように、テストにいくつかのコードがあります。
@Test
public void testRetrieveMongoDBFailUnkownHost()
{
//Set up test port and host on DSMongo
MyMongo mongoTest = new MyMongo();
mongoTest.setHost("failure");
mongoTest.setPort("0");
//attempt to make the connection
try
{
mongoTest.attemptMongoConnection();
assertTrue(false);
}
catch (Exception e)
{
assertEquals("Incorrect error message received: " + e.getMessage(),"Error (3013) : Unknown database host.", e.getMessage());
}
}
そして、試行 MongoConnection() メソッドは、未知のホスト例外で失敗するはずの新しい Mongo(host, port) メソッドを実行します。私のマシンでは失敗していませんが(失敗の代わりにどの文字列を入力しても)、同僚のマシンでは失敗しています。したがって、テストは私のマシンでは失敗し、彼のマシンではパスします (つまり、彼は例外を受け取ります)。どんなアイデアでも私は困惑します!
ありがとう
ポール
編集:試みの接続方法のコードは
*/
public static void attemptMongoConnection() throws MYException
{
try {
singleMongo = new Mongo(getHost(), getPort());
Logger.debug("Retrieved Mongo database from " + host);
} catch (UnknownHostException e) {
Logger.error("Unknown Host Exception", e);
throw new MYException(MYMessage.MY_UNKNOWN_HOST);
} catch (MongoException e) {
Logger.error("Mongo error", e);
throw new MYException(MYMessage.DS_MONGO_ERROR);
}
}
ここで、singleMOngo は Mongo 変数で、getHost と getPort は設定したものです (つまり、失敗と 0)。