我閱讀了幾個教程和手冊,但它們都跳過了我實際需要的部分,這是您運行這些東西的實際部分。在測試中使用AssistedInject
我的場景如下。
我有一個Connection
接口:
public interface Connection {
void open(Selector selector);
void send(NetMessage message);
}
我有一個生產的實現,需要一個SocketFactory
:
public class ConnectionImpl implements Connection {
// members
@Inject
public ConnectionImpl(@Assisted SecurityMode securityMode, @Assisted long connectionId,
@Assisted EntityAddresses addresses, SocketFactory socketFactory)
所以我創建了一個ConnectionFactory
:
public interface ConnectionFactory {
SioConnection create(SecurityMode securityMode, long connectionId, EntityAddresses addresses);
}
現在,我有兩個實現SocketFactory
:SocketFactoryProd
和SocketFactoryTest
。
我正在爲Connection
創建一個測試,我想創建一個ConnectionImpl
與SocketFactoryTest
,我真的不明白我是如何做到的。這是我不斷失蹤的部分,我應該在我的測試中寫下(或在測試類setUp
)。
你想要單元測試哪一個類?你能否發表單元測試的草稿版本? –
@SergeyBrunov他沒有說這是一個單元測試。這可能是一個功能或集成測試,他試圖綁定一個備用網絡。 – Gene
我想測試連接,但我想使用一個connectionFactory來創建連接,我嘗試測試和@注入它。所以我想了解我應該寫什麼(以及在哪裏)告訴connectionFactory(它是測試類中的成員)使用SocketFactory的代碼是SocketFactoryTest.class – slashms