2011-07-21 13 views
2

最近、この質問がインタビューでテストケースを書き込んで、ある文字列が別の文字列に存在するかどうかを調べる関数をテストしました。開発者のポジションへのインタビュー、昨日私は同じ会社からのオンサイト訪問のために頭を上げていました。私はそこにいる人々のテストから、(私がそこに向かう前に)アイデアを得るためのポインタを得たいと思っていました。質問。これは、彼らが私にそれをテストするよう求める機能のために提供したスケルトンです。ある文字列が別の文字列内に存在するかどうかを確認するテストケース

public static boolean checkSubString(String str1, String str2) 
    { 
     //first string is the source 
      // second string is the reference 
     if(str1.contains(str2)) 
      return true; 
     else 
      return false; 
    } 

お読みいただきありがとうございます。私は熱心にあなたの返信を楽しみにしています。

+6

'if(trueまたはfalseを返す式){trueを返します。 } else {return false; } ' – Jacob

+1

コレラ私はyaを聞く;) – Venki

+0

@モペウス - これはインタビューの質問だったと思います。彼らがコードを提供したことを願っています。私はそのコードに一つのコメントを書いただろう。 str1.contains(str2)の結果を単純に返すことができると指摘しました。 –

答えて

2

ちょうど1つのヒント:str1.contains(str2)と考えると、になると、falseになり、例外をスローするには何が必要になるでしょうか。

それはあなたのテストケースです。

+1

これは私が探していたものです!簡潔:)ありがとう! – Venki

+1

'StringComparison.Ordinal'が尊重されているかどうかもチェックしてください。例えば ​​'' foo "'は '' FooBar ''に含まれてはいけません。 –

1

機能が動作することを確認するには、少なくとも2つのテストケースが必要です。 1つは通過すると予想し、もう1つは失敗すると予想します。コードへのアクセス権(およびその理解)があるので、少なくとももう1つのテストケースを構築できます。あなたは例外をスローすることを期待しています。

+0

感謝!!!あなたたちは素晴らしいです! – Venki