2013-04-02 39 views
0

我遇到了一個有趣的任務。如何在Rails中測試隨機事件?

需要制定一種隨機(在10-15%的情況下)以某種方式修改字符串的方法。

我該如何做TDD?

E.g.如何確保修改的概率不會超過15%?

Thx。

+0

在(包括)1和100之間生成一個隨機數,並且只在數字<= 15時修改字符串。 –

+0

這將是隨機的,所以很難*確保它不超過15 %。當然,這也取決於你運行任務的頻率。你運行得越多,它就會越接近15%。至於測試:您可以多次運行任務,並確保百分比在一定範圍內。如果你想要它在10%到15%之間,顯然你必須使用'rand <= 0.125'。 – Mischa

回答

2

只需使用隨機數生成:

def change_string_fifteen_percent_of_the_time 
    if rand() <= 0.15 
     # change string here 
    end 
end 
1

如果你問如何測試:運行方法的100倍(例如),並斷言該字符串沒有變化超過15倍。

+1

@Mischa如果失敗,則不符合該方法的要求。 – iltempo

+0

是的,你說得對。該方法應該改變(到'rand <= 0.125'或其他),而不是測試。 – Mischa