0

次のように、テストにいくつかのコードがあります。

    @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)。

4

1 に答える 1

1

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

私は今朝オフィスに来ましたが、再び「失敗」しています。したがって、さらに掘り下げると、私のルーターまたは自宅の何かが、ここオフィスのネットワークに存在しないことを認識しているアドレスに「障害」を解決しているようです。

これを見てくれたすべての人に感謝します。非常に奇妙です。

于 2011-12-07T09:46:55.210 に答える