今天,开始要踏上TDD的道道了。于是,写了一个测试用例,用scalatest。因为最近,对scala很感兴趣,于是就选择了这样做。我要做的是这样一件事,加载一个xml文件,然后解析其中的一些元素。我传入一些元素的property,然后来选出对应的元素。很简单的。
但是我很快就遇到了问题:我向scala源文件中拷贝了一个汉语字符串作为常量就出了问题: illegal character. 就是说我在编译器开始加载源文件的时候就报错了。
我知道,默认scala使用UTF-8的编码方式来加载源文件的。于是我检查我的源文件,发现它确实不是UTF-8,然后把它改成UTF-8。但是还是不对,因外我的编辑器是nodepad++,所以我尝试,把encoding改成UTF-8 without BOM.再次编译居然ok了。
但是接下来我遇到了另外一个更难的问题:org.xml.sax.SAXParseException: Content is not allowed in prolog.
这是我在加载xml文件的时候遇到的。我使用JAXB来做这件事。于是我Google了很多,但是没有答案。最后,我尝试用nodepad++打开那个xml文件,然后把它的encoding也改成 UTF-8 without BOM。居然也没有问题了。
至此我的test case顺利通过。
encoding真是个问题。
分享到:
相关推荐
尝试演示视频中的示例在您的IDE中运行以下程序: 主类:com.HappyRay.scalaTestGenerator.TestGeneratorApp 参数:out / artifacts / scala_test_generator_jar / scala-test-generator.jar userSays ...
我主要是通过的人阅读学习 Scala,我想有一个小项目来尝试我所读的内容并感受一下该语言、IDE 支持、测试……这就是 Connect4 的诞生方式。 随着我的进步,我将更改代码并在 Scala 上变得更聪明。 该项目使用 。 ...
它也很小(几百行代码),除了Scala运行时库外没有其他依赖项(如果要从源代码构建并运行测试,请加上scalatest和junit)。 SubCut库在Apache v2许可下可作为开放源代码使用。文献资料刚刚添加:源代码中的scaladoc...
java开发抽奖系统源码面向 Perl 5 程序员的 Scala 所以,您是一名 Perl 黑客,正在涉足 Scala。 也许您想为 ...也许您想通过走出舒适区来提高 ...也许你只是为了踢球,或者作为第二...Scala,它是一种非常大的语言,因此我
数学序列这是一个玩具应用程序,用于在 Scala 中尝试 Java 8 Stream API 和列表操作。 该应用程序提供实用方法来生成一些著名的整数序列,如素数。技术Java SE 8、JUnit、Hamcrest、Scala、ScalaTest、Gradle
FluentSelenium可与Java的JUnit,TestNG,ScalaTest,JBehave,Cucumber或您喜欢的任何JDK语言一起使用。 FluentSelenium可与Java(5 +),Groovy,Scala,Clojure和Kotlin一起使用。 目录 文字转换 常用表达 ...
次Scala一个 Scala 库,它限制传递给它的代码的语法、使用的类型或调用的方法。简短概述subscala.Restrict是一个宏,如果传递给它的代码与给定的限制不匹配,则编译失败。 编译成功不影响编译结果。 它可以限制代码...
[info] Compiling 2 Scala sources to /private/tmp/sbttest/myplugin/project/target/scala-2.10/sbt-0.13/classes... /private/tmp/sbttest/myplugin/build.sbt:0: error: '.' expected but eof found. im
当前的代码已经尝试通过添加更多类型安全并使代码更直接地编写代码来简化 Weka 的使用。 由于它是 Weka 功能的轻量级包装,即使它试图使事情变得更加不可变和“纯粹”,但其中也有很多可怕的地方。 用法 scala 语法...
混合Scala编程是一个大胆的尝试,可以弥补Java的一些弱点;当然,主要还是基于Java开发,至少一开始如此。 Spring仍旧是核心的组件,当然仍旧没有使用太多的Spring,因为我觉得Spring后面的很多功能已经背离了早先...
幻影替代了官方的phantom-zookeeper和phantom-test工件动机该项目旨在为官方的phantom-zookeeper和phantom-test工件提供替代品。 这些模块的设计和实现存在的问题非常严重,足以保证完全重写。 替代产品旨在解决原始...
考虑到时间限制和规范,我决定尝试使用一个简单的 FIFO 队列,每个电梯一个人,并根据空闲电梯离取货请求所在楼层的距离进行负载平衡。 所有提货请求都转到一个主队列 ( pickupQueue ),在我的愚蠢实现中,它只是一...
本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示 如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一 个强大的工具集,提供了很多选项,可以对在本地机器...
本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示 如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一 个强大的工具集,提供了很多选项,可以对在本地机器...
./skinny run让我们尝试脚手架。 将生成基于简单Bootstrap的CRUD页面。 ./skinny g scaffold members member name:String activated:Boolean luckyNumber:Option[Long] birthday:Option[LocalDate]./skinny db:...
冒烟测试在运行完整的性能测试之前,与一个用户一起尝试检查所有功能是否正常可能会很有用sbt -Dperftest.runSmokeTest=true -Dperftest.runLocal=true gatling:test运行性能测试sbt gatling:test运行前端服务的性能...
MQTT Prometheus消息导出器 这是一个将 mqtt 消息转换为 prometheus 指标的小型服务。 这个怎么运作: 为了获取 mqtt 消息,我们需要订阅主题,还要解析消息并将其转换为指标,我们需要一些... " str " : " test " ,
Reactive Solid是项目的一部分,该项目由在其“电话中资助。 跑步 下载此存储库后,可以按以下方式启动服务器: $ sbt > compile > run test 这将读取文件并将文件写入test目录。 然后,您可以在命令行上尝试使用...