當您正在測試的類中有一種方法時,BDD命名方法可以很好地工作。假設我們有一個Connector類,它有Connect方法:多種方法的BDD命名
Should_change_status_to_Connected_if_Disconnected
美麗吧?但是當我在一個類中有幾個方法時必須命名測試時,我感到困惑(讓我們假設我們爲我們的類添加了Disconnect方法)。
我看到兩種可能的解決方案。第一種是添加一個前綴的方法名,如:
Should_change_status_to_Connected_if_Disconnected_when_Connect_was_called
另一種方法是引入嵌套的測試類爲你測試每個方法。
public class ConnectorTests
{
public class ConnectTests
{
public void Should_change_status_to_Connected_if_Disconnected()
{
...
}
}
public class DisconnectTests
{
public void Should_change_status_to_Disconnected_if_Connected()
{
...
}
}
}
老實說,兩種方法感覺有點偏離(可能只是因爲我不習慣它)。建議的路線是什麼?
您能否爲您的問題添加更多上下文? methodA和methodB有什麼區別。他們都做了什麼? –
@SergeyBerezovskiy,當一個類包含多個方法時,我的意思是一般情況。 – SiberianGuy
對不起,但不清楚你有什麼樣的問題。方法引入了一些行爲。如果methodA用於* somethingA *而methodB用於* somethingB *那麼您的問題並不清楚。如果它們都爲* somethingC *,那麼* methodA *和* methodB *之間的區別是什麼? –