2011-12-06 4 views
0

次のように私はテストでいくつかのコードを持っている:MongoDBとPlay!フレームワーク一貫性のない行動

@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()メソッドは、不明なホスト例外で失敗すべき新モンゴ(ホスト、ポート)メソッドを実行します。私のマシンでは失敗していません(失敗の代わりにどの文字列を入れても問題ありません)が、私の同僚マシンでは失敗しています。だから私のマシン上でテストが失敗し、彼に渡されます(つまり彼は例外を取得します)。どんなアイディアでも私は困惑してしまいます!

ポール

EDIT

ありがとう:試行接続方法のコードがsingleMOngoはMongoの変数であるとはGetHostとのgetPortは(我々が設定したものです

*/ 
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); 
    } 
} 

です。 e。失敗および0)。

+0

質問が更新されました。どうも – pbattisson

答えて

1

これはDNSのどこかの問題であることがわかりました。私は自宅で(私が最初に投稿した場所から)それを失敗し、 "失敗"という名前を解決しているように見えるので、代わりに "localhost_123"のようなものを入力すると完全に動作します。

私は今朝オフィスに来て、もう一度「失敗」します。したがって、私のルーターや自宅の何かが、オフィス内のネットワーク上に存在しないことを認識しているアドレスへの「失敗」を解決しているようです。

これを見ていただきありがとうございます。非常に奇妙な。

関連する問題