Настроить или указать Marathonfile с помощью плагина Malinskiy's marathon gradle? - PullRequest
0 голосов
/ 03 марта 2020

Я использую плагин Gradle Marathon для запуска моих тестов. Задачи Gradle включают «марафон» и «marathonInternalStagingAndroidTest». Я могу запустить как из Android Studio, так и из командной строки. То, что я не могу сделать, это настроить его. В документации ничего не говорится о настройке подключаемого модуля Gradle.

Можно ли настроить его с помощью задачи Gradle? Или он может использовать Marathonfile, как в стандартной установке?

. / Gradlew marathon -Pmarathonfile = '/ Users // Android / Marathonfile' запускает задачу марафона, но не использует Marathonfile, на который я указываю .

1 Ответ

0 голосов
/ 05 марта 2020

На момент написания этого плагин gradle не использовал Marathonfile. Также на сегодняшний день обновлена ​​документация ! Конфигурация происходит путем добавления groovy / kotlin DSL в ваш файл Gradle следующим образом:

marathon {
    name = "sample-app tests"
    baseOutputDir = "./marathon"
    analytics {
        influx {
            url = "http://influx.svc.cluster.local:8086"
            user = "root"
            password = "root"
            dbName = "marathon"
        }
    }
    poolingStrategy {
        operatingSystem = true
    }
    shardingStrategy {
        countSharding {
            count = 5
        }
    }
    sortingStrategy {
        executionTime {
            percentile = 90.0
            executionTime = Instant.now().minus(3, ChronoUnit.DAYS)
        }
    }
    batchingStrategy {
        fixedSize {
            size = 10
        }
    }
    flakinessStrategy {
        probabilityBased {
            minSuccessRate = 0.8
            maxCount = 3
            timeLimit = Instant.now().minus(30, ChronoUnit.DAYS)
        }
    }
    retryStrategy {
        fixedQuota {
            totalAllowedRetryQuota = 200
            retryPerTestQuota = 3
        }
    }
    filteringConfiguration {
        whitelist {
            add(SimpleClassnameFilter(".*".toRegex()))
        }
        blacklist {
            add(SimpleClassnameFilter("$^".toRegex()))
        }
    }
    testClassRegexes = listOf("^((?!Abstract).)*Test$")
    includeSerialRegexes = emptyList()
    excludeSerialRegexes = emptyList()
    uncompletedTestRetryQuota = 100
    ignoreFailures = false
    isCodeCoverageEnabled = false
    fallbackToScreenshots = false
    testOutputTimeoutMillis = 30_000
    strictMode = false
    debug = true
    autoGrantPermission = true
}
...