1
我正在使用具有大量單元測試的Java Web應用程序。我們在Eclipse中運行單元測試。我正在通過測試並重構其中的一些。我已經看到了寫有這樣幾個測試(我會熬下來的說法,我的文字的例子實際上是在測試變量)意外的JUnit行爲
assertEquals(new Integer(7), new Long(7));
該測試通過!和我不明白爲什麼,因爲類型是不同的。看到這種現象後,我創建Eclipse的一個簡單的Java項目,基本上寫了相同的單元測試
assertEquals(new Integer(7), new Long(7);
,並未能如我所料。我不需要任何幫助,我只是好奇,測試如何在一個環境中傳遞,並且在另一個環境中失敗(應該如此)。
如果您包含實際的代碼,它會更容易幫助您。 –
你確定它們都是java.lang.Integer嗎?如果不是這樣,也許一個自定義的類可以重寫equals方法......毫無疑問,這是一個長鏡頭,但這是一個可能的解釋。 –
除非您可以提供'Integer'和'Long'的完全限定名,否則我們會在這裏抓住吸管。我同意@EdwinBuck的看法,認爲這可能是壓倒其中一個類的東西,但我不確定是什麼,也不知道爲什麼。 – Makoto