我有一个基于Gradle的Kotlin项目,有一些 Spek测试,它们基于JUnit,应该与Idea兼容.

但是我没有在上下文菜单中看到“运行”菜单项.

为什么?为了能够像其他JUnit测试一样在Idea中运行Spek测试,我需要做什么?

这是我的build.gradle:

buildscript {
  ext.kotlin_version = '1.0.4'
  repositories {
    mavenCentral()
    maven {
        url "https://dl.bintray.com/jetbrains/spek"
    }
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3'
  }

}

apply plugin: "kotlin"
apply plugin: "application"
apply plugin: 'org.junit.platform.gradle.plugin'

junitPlatform {
    filters {
        engines {
            include 'spek'
        }
    }
}

mainClassName = "com.mycompany.myproduct.AppKt"

sourceSets {
  deploy
}

repositories {
  mavenCentral()
  maven {
    url "https://dl.bintray.com/jetbrains/spek"
  }

}

dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  compile 'org.telegram:telegrambots:2.4.2'
  compile group: 'org.apache.commons',name: 'commons-lang3',version: '3.0'
  compile group: 'ch.qos.logback',name: 'logback-core',version: '1.1.3'
  compile group: 'ch.qos.logback',name: 'logback-classic',version: '1.1.3'
  compile group: 'org.slf4j',name: 'slf4j-api',version: '1.6.1' 
  testCompile  'junit:junit:4.11'
  testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
  testCompile group: 'org.mockito',name: 'mockito-all',version: '2.0.2-beta'
  testCompile 'org.jetbrains.spek:spek-api:1.1.19'
  testRuntime 'org.jetbrains.spek:spek-junit-platform-engine:1.1.19'
}

test.testClassesDir = project.tasks.compileTestKotlin.destinationDir

task wrapper(type: Wrapper) {
  gradLeversion="3.1"
}

run {
    jvmArgs = ["-Xmx100m","-XX:+HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/[...]/log/memdump.log"]
}

jar {
    manifest {
        attributes 'Main-Class': mainClassName,'Class-Path': configurations.runtime.files.collect {"$it.name"}.join(' ')
    }
}

解决方法

你安装了 Spek plugin for IntelliJ吗?

只需在IntelliJ插件设置中搜索spek即可.

java – 为什么IntelliJ Idea不能识别我的Spek测试?的更多相关文章

  1. ios – 如何使用Objective C类中的多个参数调用Swift函数?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  2. ios – Swift 4添加手势:覆盖vs @objc

    我想在我的视图中添加一个手势,如下所示:但是,在Swift4中,我的编译器给出了以下错误:建议添加@objc以将此实例方法公开给Objective-C.实现此目的的另一个选项将覆盖touchesBegan()函数并使用它来处理点击.我试图以“Swift”的方式做到这一点,而不必带入Obj-C.有没有纯粹的Swift方式来添加这个轻击手势而不使用@objc?

  3. ios – 将视频分享到Facebook

    我正在编写一个简单的测试应用程序,用于将视频从iOS上传到Facebook.由于FacebookSDK的所有文档都在Objective-C中,因此我发现很难在线找到有关如何使用Swift执行此操作的示例/教程.到目前为止我有这个在我的UI上放置一个共享按钮,但它看起来已禁用,从我读到的这是因为没有内容设置,但我看不出这是怎么可能的.我的getVideoURL()函数返回一个NSURL,它肯定包含视

  4. ios – 以编程方式在Swift中添加联系人

    我想在Swift中以编程方式添加联系人.我发现了一些Objective-C示例,但我没有让它们工作,甚至在Objective-C中也没有.我不希望这涉及到AddressBookUI,因为我想从我自己的UI中获取值.解决方法这是在Swift中添加联系人的快速方法.我在我的iPhone5iOS7.1上验证了它,因为我发现模拟器并不总是与我的手机对AB的东西相同.您可以添加一个按钮并指向此方法:顺便说一下–它假设你已经分配了一个地址簿var,你可以通过覆盖viewDidAppear来打开视图.它也会执行安全提示

  5. ios – 为目标c中的方法传递未知类型的参数,可能吗?

    是否可以将未知类型的参数传递给objective-C方法?在C#中你可以写实现这一点,但我知道Objective-C没有泛型,所以有没有其他方法可以在Objective-C中实现这一点?我需要这个,因为我想创建一个方法来改变不同对象的文本颜色,如UITextField和UIButton的占位符文本.所以我的计划是创建一个名为textWhite的方法,然后在此方法中检查对象的类型,然后运行匹配的代码以使文本颜色变为白色.解决方法是的,可以传递未知类型的参数.见下面的例子.请参考使用id对象的链接作为参数Us

  6. ios – Swift指针算术和解除引用;将一些类似C的地图代码转换为Swift

    我有一点似乎没有工作的Swift代码……解决方法您正在指定locationPointer指向新位置,但仍在下一行中使用ptr,并且ptr的值尚未更改.将您的最后一行更改为:或者你可以改变指向var的指针并推进它:

  7. ios – “禁用模块时使用’@import’”错误 – 启用模块和链接框架= YES

    我有一个使用CocoaPods并使用’SCLAlertView-Objective-C’窗格的项目.该pod使用@importUIKit;模块样式导入.我在目标和项目设置中将“启用模块(C&Objective-C)”和“自动链接框架”设置为YES.当模块被禁用时,我仍然得到“使用’@import’错误.有没有什么可以阻止Xcode能够启用模块,如使用.pch文件,任何链接器标志,或者我没有提到的任

  8. XCode 6.3立即在抛出的Objective-C异常上引发SIGABRT

    考虑以下目标-C代码在XCode6.2中,它按预期工作(记录“错误消息”).但是,由于我们升级到6.3,抛出行(throwstd::logic_error…)引发SIGABRT(堆栈跟踪仅包含_cxa_throw和_pthread_kill,超出applicationdidFinishLaunchingWithOptions)并导致应用程序崩溃.这只发生在我们的应用程序中–当我将完全相同的代码复制

  9. ios – 在swift框架中使用Bridging Headers时失败

    我正在做一个快速的框架,我想使用旧的目标c类.为此,我使用桥接头方法但是当我尝试构建时出现此错误:我将我的{PROJECT}-Bridging-Header.h添加到Swift编译器中的Objective-C桥接头–代码生成我怎么解决它?

  10. 适用于Xcode,IntelliJ Idea和Phonegap(又名Cordova)的gitignore模板

    有没有人有一个很好的预先推出的gitignore文件用于使用Xcode和PhoneGap的iPhone开发?

随机推荐

  1. 适用于Xcode,IntelliJ Idea和Phonegap(又名Cordova)的gitignore模板

    有没有人有一个很好的预先推出的gitignore文件用于使用Xcode和PhoneGap的iPhone开发?

  2. swift – 不可用:对于混合型算术,请使用显式类型转换或Strideable方法

    我正在尝试学习Swift,并且正在研究一个在Swift2中工作的旧的Generic示例现在在Swift4中它抱怨道有人可以解释为什么我收到这个错误以及我做错了什么?

  3. android-studio – IDEA中Gradle自动完成的位置在哪里?

    解决方法对于Groovy插件,它可能是Cucumber.我知道Gradle使用Groovy的一些技术和语法,所以我尝试在第一次尝试时安装一些Groovy插件并取得成功.安装此插件的步骤:>在MacOS上:首选项…

  4. android – IntelliJ IDEA认为我的项目的一部分是subversion而不是git,如何解决这个问题?

    解决方法在“设置”中检查项目配置>版本控制.这是配置目录/vcs映射的位置.删除可能存在的任何SVN映射,并确保整个项目映射到Git.顺便说一句,我不知道这怎么可能发生.

  5. Android Studio在启动时修改./idea/vcs.xml

    因为不建议忽略AndroidStudio中的整个.idea文件夹,所以大多数文件都由git跟踪.然而奇怪的是,每次启动后,即使已经存在数十个,也会向vcs.xml添加相同的行.这很快变老了.这种行为是有目的还是仅仅是一个错误?AndroidStudio还可以在启动时阻止它进行此类修改吗?

  6. android – 如何使用IntelliJ IDEA正确配置AdMob?

    我正在尝试将AdMob合并到我的Android应用程序中.我正在使用IntelliJIDEA进行开发,我似乎无法正确设置我的项目.此时我已完成以下操作:>是否需要下载AdMobSDK所需的所有初步步骤.>按照指示here,试图为IntelliJIDEA增加它们.我已将AdMobSDK的单入口模块库依赖项添加到我的项目中.如果我尝试在代码中使用它,IDE看起来像是没有问题识别SDK中的类.但是,它无

  7. android-studio – Android Studio / IntelliJ IDEA编辑器中的中心代码

    我想将我的代码集中在AndroidStudio的/Intellij编辑器中,就像在distractionFree模式下完成一样.现在如果它始终在编辑器的左侧对齐,但我想将它放在窗口的中心.我在设置中找不到任何选项.这可以在不进入无牵引模式的情况下实现吗?

  8. Android图书馆项目Jar IntelliJ IDEA 11

    我正在使用IntelliJIDEA11.如何为我的Android图书馆项目创建一个JAR文件?我有一个相同的Android库项目及其JAR文件.我已经设法从模块设置–>项目设置–>Artifacs->创建一个JAR文件.我试图将我的Jar文件与原始文件进行比较,内容不同.是否可以确认我的程序是否正确?解决方法您可以按照这个link1创建jar来防止这样做.如果您在遵循以前的链接时遇到问题,请遵守此link2

  9. 在Android Studio中的Javadoc中的intellij-idea – 标签

    如果我在AndroidStudio和其他Jetbrains产品中重新格式化代码,那么在某些地方创建了一个小标签.我该如何防范?解决方法标签在空行上生成,以便它们显示在javadoc中.如果你想,你可以在重新格式化代码时关闭它.在AndroidStudio中,转到文件–>设置–>代码样式–>Java–>JavaDoc选项卡–>取消选中生成“”空线这里是文档的样式,没有段落标签,右边是快速文档窗口中的文本.只要考虑到这一点.

  10. android – 强制Idea生成R.Java文件的最简单的方法是什么?

    我试图使用intellij想法运行Android示例应用程序,而R.Java文件缺少表单记事本样本源目录.解决方法确保您的项目根目录中有gen文件夹.如果没有,请自己做一个.

返回
顶部