在Kotlin进行JUnit测试(JUnit test in Kotlin)
警告:我是TDD和Kotlin的巨头。
我在Web上找到了很好的代码片段,用于在Kotlin中编写JUnit测试,但是当我复制并粘贴时,IntelliJ不会自动导入
kotlin.test.*
或org.junit.Test
。 通常在Eclipse中,当我复制并粘贴这样的代码片段时,IDE可以找出这些库在我的底层java安装中的位置。 图Kotlin / IntelliJ会是一样的。在下面的截图中,任何想法为什么我无法导入测试库? 他们是否需要明确地添加到我的路径中? 我需要将这些放在
test
,而不是src
文件夹吗?Warning: I'm a huge noob to TDD and Kotlin.
I've found good code snippets on the web for writing JUnit tests in Kotlin, but when I copy and paste, IntelliJ does not automagically import
kotlin.test.*
ororg.junit.Test
. Typically in Eclipse, when I copy and paste code snippets like this, the IDE can figure out where these libraries are in my underlying java install. Figured Kotlin/IntelliJ would be the same.In the below screenshot, any idea why I cannot import test libraries? Do they need to be added explicitly to my path? Do I need to put these under a
test
, rather than thesrc
folder?
原文:https://stackoverflow.com/questions/42212077
最满意答案
Play 2.5.x确实为这样做提供了支持。
请注意我的示例是在Scala中,但您可以使用Java API实现相同的功能 - 只需查看下面的文档即可。
// Scala example def accept = Action(parse.json) { implicit request => render { case Accepts.Json() => Ok(Json.parse("""{"message" : "Thanks for sending and accepting JSON"}""")) } }
通过指定您正在使用显式
parse.json
正文解析器,如果客户端尝试发送Content-Type的application/json
以外的任何内容,则Play将自动为您生成415
代码的结果。 请参阅涵盖此位的Java示例 。
case Accepts.Json()
是一个提取器,用于测试媒体类型是否在范围内(即用例中的application/json
)。 如果客户端发送不同的媒体类型,那么我认为Play构建了406 Not Acceptable
。 请参阅Java示例 。Play 2.5.x does provide support for doing this.
Apologies that my example is in Scala, but you can achieve just the same with the Java API - just check the docs below.
// Scala example def accept = Action(parse.json) { implicit request => render { case Accepts.Json() => Ok(Json.parse("""{"message" : "Thanks for sending and accepting JSON"}""")) } }
By specifying that you are using an explicit
parse.json
body parser, Play will automatically build a result with a415
code for you if the client attempts to send anything other thanapplication/json
for the Content-Type. See the Java examples that covers this bit.The
case Accepts.Json()
is an extractor that tests that the media type is within range (ie.application/json
in your use case). If the client sends a different media type then I think Play builds a406 Not Acceptable
. See the Java examples.
相关问答
更多-
问题是您的方法参数类型MultivaluedHashMap public Activity createActivityParams(MultivaluedHashMap
formse){ 处理application/x-www-form-urlencoded和MultivaluedMap的提供application/x-www-form-urlencoded仅支持MultivaluedMap或MultivaluedMap 注入。 你可以在源代 ... -
尝试一下: @RequestMapping(method = RequestMethod.POST,consumes = {"application/json;charset=UTF-8"}, produces={"application/json;charset=UTF-8"}) public String newPlace(@RequestBody Place places) { String id = service.addNewPlace(places); return "/ad ...
-
API POST PHP - 415不支持的媒体类型(Zend Framework)(API POST PHP - 415 Unsupported Media Type (Zend Framework))[2022-04-03]
我们不能使用$ this-> restClient-> restPost,因为它会再次重置整个底层的Http_Client! 具体意味着它会重置我们使用的标头。 所以我们自己做所有的步骤。 switch($requestType) { case "post": $httpClient->setUri($this->_config->service->rest->host."".$path); $httpClient->setMethod('POST ... -
按照@peeskillet的建议,我切换到具有CDI感知功能的Sun JDK HTTP Server嵌入式服务器。 要做到这一点,需要做以下事情: 添加RESTEasy和WELD必需的Maven依赖项:
org.jboss.resteasy resteasy-jdk-http 3.0.17.Final test< ... -
我们的对象是如何通过MessageBodyWriter和MessageBodyReader被序列化和反序列化到响应流和请求流的 。 会发生什么是从提供者的注册表中进行搜索,可以处理JSONObject和媒体类型application/json 。 如果找不到,则Jersey无法处理该请求,并将发出415不支持的媒体类型。 您通常应该在服务器端也记录一个异常。 不确定您是否有机会查看日志。 Jersey没有任何org.json对象的标准读写器。 你必须在网上搜索一个实现或者自己写一个实现,然后注册它。 你可以 ...
-
415不支持的媒体类型(415 Unsupported Media Type)[2023-08-01]
也许你需要添加一个默认格式: # app/config/config.yml fos_rest: routing_loader: default_format: json Maybe you need to add a default format: # app/config/config.yml fos_rest: routing_loader: default_format: json -
添加mimepull.jar文件解决了我的问题,这里。 Adding mimepull.jar file solved my problem, here.
-
我删除了pom.xml中的所有依赖项代码,并添加了以下代码,其中包含jersey-core,jersey-bundle,jersey-json
com.sun.jersey jersey-bundle 1.19 com.sun.jersey Play 2.5.x确实为这样做提供了支持。 请注意我的示例是在Scala中,但您可以使用Java API实现相同的功能 - 只需查看下面的文档即可。 // Scala example def accept = Action(parse.json) { implicit request => render { case Accepts.Json() => Ok(Json.parse("""{"message" : "Thanks for sending and accepting JS ...这看起来不像我所知道的任何有效的资源方法。 如果有一些我不了解的高级功能,我很乐意得到纠正,但我从来不知道JAX-RS / Jersey允许你按名称将任意JSON字段绑定到方法参数。 你需要更像的东西: class MyPojo { String id; Double myDouble; Long myLong; } @POST @Consumes(MediaType.APPLICATION_JSON) public void saveObj(MyPojo myPojo) { ...相关文章
更多- junit怎么用?
- Kotlin 基于Eclipse 的入门示例
- TestSuite使用教程-junit单元测试
- hamcrest使用教程-junit单元测试
- dbunit使用教程-junit单元测试
- easymock使用教程-junit单元测试
- Kotlin基于 IntelliJ IDEA 的入门示例
- junit快速入门-junit安装与简单使用
- Hadoop 0.21如何运行单个test case
- 使用命令行编译Kotlin程序
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。