2016-05-20 9 views
0

文字列の先頭が始まり、ランダムに生成された文字で252文字になります。 (237個のランダムな文字 - 最後の長さは252文字です)Rubyのrspecチェック文字列は特定の値で始まります

文字列をテストする目的で、TESTDATAMENDNOWで始まり、残りはランダムな大文字で始まります。

どのように私は文字をすべて大文字 と文字列がTESTDATAMENDNOW

で始まり、私はこれを定義する正規表現式を使用しようとしましたが、私は彼らが仕事を得るためにどのようにあまりにもわからないということであることをテストすることができます正しく、私がこれまでに試したことは働いていないようです。

EDIT:クラリティ

答えて

2
expect(string).to match(/\ATESTDATAMENDNOW[A-Z]{237}\z/) 

237"TESTDATAMENDNOW"252マイナス長さは237ですので。

+0

が、あなたが最後の文字列は252文字ではなく、ランダムな部分であることを考慮してdidntのようですので、代わりに237でなければなりません。 –

+0

@SovietKetchupこれがあなたの望むものでない場合、あなたの責任です。それが237でなければならないなら、あなたはそう書いたはずです。また、「終わりの文字列」や「終わりの長さ」の意味が明確ではありません。 – sawa

+0

"は252文字に満たされています。私は元の投稿にいくつかの説明を加えました。 –

0

ここで正規表現を使用していない別の方法です:それは最初に私がエラーを持っていた

str = "TESTDATAMENDNOW" 
expect(string[0,str.size]).eq(str) 
expect(string.delete("ABCDEFGHIJKLMNOPQRSTUVWXYZ").eq("") 
expect(string.size).eq(252) 
関連する問題