我试图访问一个.jpg
文件,它是我的src
文件夹里面有这行代码:如何访问Play 2.1中的测试资源?
getClass().getResource("/teste.jpg")
这导致NullPointerException
。
我试图把文件放在app/
的根目录下。我也尝试将其放在test/
目录中,并且还将其放入test/resources
。
当我从Eclipse运行测试它工作正常,但它不从命令行使用play test
。
如何解决这个问题?
我试图访问一个.jpg
文件,它是我的src
文件夹里面有这行代码:如何访问Play 2.1中的测试资源?
getClass().getResource("/teste.jpg")
这导致NullPointerException
。
我试图把文件放在app/
的根目录下。我也尝试将其放在test/
目录中,并且还将其放入test/resources
。
当我从Eclipse运行测试它工作正常,但它不从命令行使用play test
。
如何解决这个问题?
我相信,你可以通过使用
Play.application().getFile("file-relative-to-root")
这取决于运行的应用程序实现,但对于单元测试,你可以创建自己的应用程序。看看API文档。
http://www.playframework.com/documentation/api/2.1.0/scala/index.html#play.api.Application
地点如Anatomy of a Play application描述public
或app/assets
下的文件。您还可以拥有test/resources
下的测试资源。
[root]> help resourceDirectory
Default unmanaged resource directory, used for user-defined resources.
[root]> show test:resourceDirectory
[info] root/test:resourceDirectory
[info] /Users/jacek/dev/sandbox/play-new-app/test/resources
随着一个目录中的资源文件(S),你可以在他们那里得到如下:
io.Source.fromInputStream(getClass.getResourceAsStream("/teste.jpg"))