2

私はscalaテストケースに取り組んでおり、printwriterを使用してデータを入力しています。これは意味がないので、アペンダーが途中で 3/4 停止するように見えます。

ファイルの最後の行が不完全であることからわかるように、ワード カウントのコードは必要ありません。

hello world duck duck sauce sauce mazing ninjakeyboard skills ninja
hello world duck duck sauce

ログ:

[info] Give a file with 10 words repeated on 1000 lines and file handler 
[info] - should give us an array of 10000 words *** FAILED ***
[info]   8434 did not equal 10000 (WordCountFileHandler.scala:20)

コード:

import java.io.PrintWriter
import org.scalatest.FlatSpec
import org.scalatest.matchers.ShouldMatchers
import WordCountFileHandler.WordCountFileHandler

class WordCountFileHandler extends FlatSpec with ShouldMatchers {

  "Give a file with 10 words repeated on 1000 lines and file handler" should "give us an array of 10000 words" in {
    val filename = java.util.UUID.randomUUID().toString
    val testFile = new PrintWriter( filename , "UTF-8")
    for (x <- 1 to 1000) yield {testFile.println("hello world duck duck sauce sauce mazing ninjakeyboard skills ninja")}
    testFile.close()


    val testOutput = WordCountFileHandler (filename)
    testOutput.size should equal(1)
    //testOutput.head.foreach(println(_))
    testOutput.head.size should equal (10000)
  }
}
4

1 に答える 1

1

バッファがフラッシュしていないようです - file.close() を省略していましたが、追加すると機能します! お時間を無駄にして申し訳ありません。

ありがとう、

于 2013-02-11T00:34:01.560 に答える