小编Str*_*ton的帖子

关于Android Studio中calabash-android支持的问题:Ruby,编辑功能和步骤,启动测试

我在64位Windows 7上使用Android Studio.我是Android Studio(或任何Intelij IDE)的noobie.

我下载并安装了Ruby 1.9.3,Ruby DevKit和calabash-android,我可以使用命令行在我的Android应用程序上成功运行Cucumber测试(calabash-android run)

我还设法为Android Studio安装了Cucumber插件,这样我的功能文件就可以从自动完成等方面受益.

我有以下问题:

  • 我可以安装Ruby插件(RubyMine?),以便我可以为我的测试编写步骤定义吗?如果是这样,我听说人们可以调试Cucumber测试:这可以在Android Studio for Android应用程序中实现吗?

  • 我可以从Android Studio为Android应用启动calabash测试吗?如果是这样,我该怎么办呢?

  • 我可以在Gradle构建的Android应用程序中使用calabash集成(自动)测试吗?如果是这样,我该怎么办呢?

谢谢!

更新:

我附上了一个自定义的gradle Plugin<Project>(请参阅我编写的下面的凹槽代码,以获得运行calabash-android测试的基本支持.

这些手动步骤仍然是必要的:
- 安装Ruby 1.9.x及其Devkit,安装calabash-android gem等.
- 使用android gradle插件(手动或自动)构建适当的(风味的)APK

在应用程序中build.gradle,添加apply plugin: 'calabash'现在可以工作,它允许构建运行功能文件作为calabash测试.
它检查可用的产品口味(构建口味)并添加适当的葫芦相关任务(例如calabashDebugcalabashFlavor1Release等).

下面是实现我的'calabash'插件的groovy文件(目前仅适用于Windows):

    package com.mediaarc.gradle.plugins

    import org.gradle.api.*
    import org.gradle.api.plugins.*
    import org.gradle.api.tasks.*

    class CalabashPlugin implements Plugin<Project> {
        void apply(Project project) {
            project.extensions.create("calabash", CalabashPluginExtension)

            if (!project.android) {
                throw new IllegalStateException("Android plugin is not configured.")
            }

            project.android.applicationVariants.each { variant ->
                final …
Run Code Online (Sandbox Code Playgroud)

ruby android cucumber calabash android-studio

12
推荐指数
1
解决办法
3291
查看次数

不能使用(de)序列化具有Jackson中多态项的List

我有一个问题(de)序列化我没有定义的JSON.

以下是一些解释该问题的代码和JSON:

码:

public static class Base {
    public String klass = "base";
}

public static class SubBase extends Base {
}

public static class Sub1 extends SubBase {
    public Sub1() {
        klass = "Sub1";
    }
}

public static class Sub2 extends SubBase {
    public Sub2() {
        klass = "Sub2";
    }
}

public static class Holder {
    @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.WRAPPER_ARRAY, property="type")
    @JsonSubTypes({@JsonSubTypes.Type (name = "sub1", value = Sub1.class),@JsonSubTypes.Type(name = "sub2", value = Sub2.class)})
    public List<Base> items = new ArrayList<Base>();
}


Holder …
Run Code Online (Sandbox Code Playgroud)

java json jackson

10
推荐指数
1
解决办法
2309
查看次数

标签 统计

android ×1

android-studio ×1

calabash ×1

cucumber ×1

jackson ×1

java ×1

json ×1

ruby ×1