Vấn đề kiểm tra đơn vị dự án đa nền tảng của Kotlin


8

Hôm nay tôi vừa cập nhật Android Studio của mình lên

Android Studio 3.5.2
Build #AI-191.8026.42.35.5977832, built on October 31, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.1

Tôi đã cập nhật Android Studio vì nó nhắc tôi lỗi khi phiên bản kotlin dưới 1.3.60.

Tuy nhiên tôi đang gặp vấn đề với các tập tin thử nghiệm đơn vị. Trước đây tôi có thể chạy thử nghiệm đơn vị mà không có vấn đề gì. Bây giờ, khi tôi nhấp vào nút chạy bên cạnh tên hàm (bên trái), nó hiển thị Không có gì ở đây.

nhập mô tả hình ảnh ở đây

Dưới đây là tất cả các phụ thuộc của tôi

// build.gradle

buildscript {
ext.kotlin_version = '1.3.60'
repositories {
    google()
    jcenter()
    maven { url "https://kotlin.bintray.com/kotlinx" }
}

dependencies {
    // classpath 'com.android.tools.build:gradle:3.4.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
}
}

allprojects {
  repositories {
    google()
    jcenter()
  }
}

task clean(type: Delete) {
   delete rootProject.buildDir
}


 apply plugin: 'kotlin-multiplatform'
 apply plugin: 'kotlinx-serialization'

kotlin {
targets {
    final def iOSTarget = presets.iosX64 // Simulator

    fromPreset(iOSTarget, 'iOS') {
        binaries {
            framework('SharedCode')
        }
    }
    fromPreset(presets.jvm, 'android')
}

sourceSets {
    commonMain {
        dependencies {
            api 'org.jetbrains.kotlin:kotlin-stdlib-common'
            implementation "org.jetbrains.kotlin:kotlin-test-common:$kotlin_version"
            implementation "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlin_version"
            implementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
            implementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
        }
    }

    iOSMain {
        dependsOn commonMain
    }

    androidMain.dependencies {
        api 'org.jetbrains.kotlin:kotlin-stdlib'
    }

    commonTest {
        dependsOn commonMain
    }
}
}

Có điều gì đó mà tôi đã bỏ lỡ trong phiên bản Android Studio và kotlin mới này. Tôi đã vật lộn với điều này trong nhiều giờ. Duyệt web nhưng dường như không thể tìm thấy bất kỳ trợ giúp.

Cảm ơn


Bắt buộc bạn đã thử Vô hiệu hóa bộ nhớ cache và khởi động lại?
Evgeny Bovykin

@EvgenyBovykin vâng thưa ngài, đã thử nó rồi, và không có gì khác biệt
alvinWB

Tôi đối mặt với cùng một vấn đề ......
James Fu

1
Tôi đã gửi một lỗi cho Android Studio: suetracker.google.com/issues/150157086
hardysim

1
Tôi cũng đã gửi một vấn đề tại jetbrains: youtrack.jetbrains.com/su/KT-25065
hardysim

Câu trả lời:


0

Cài đặt sạch Android Studio đã khắc phục sự cố này. Không bao giờ nghĩ rằng vấn đề này sẽ xảy ra. Đã cập nhật Android Studio nhiều lần trong quá khứ và đây là lần gặp vấn đề đầu tiên của tôi.


Tôi đã thử cài đặt ngay cả trên một máy tính mới, nhưng vấn đề vẫn còn (trong phiên bản 3.5.3).
Pecan

Tôi cũng gặp vấn đề tương tự, và nó hiển thị "không có gì ở đây" trong bài kiểm tra chung của tôi nhưng hoạt động tốt trong bài kiểm tra Android của tôi. Tôi cần chạy thử nghiệm bằng cách tự viết cấu hình để chạy mã trong thử nghiệm chung. Nếu không, bạn có thể thử chạy tất cả các bài kiểm tra bằng dòng lệnh.
James Fu

Điều này xảy ra với tôi kể từ 3.5.x lên đến 3.6 ổn định ngày hôm nay. Đã thử rõ ràng, cài đặt lại, hộp công cụ jetbrains và tải xuống độc lập, vv .. Không có gì giúp được.
hardysim

Sử dụng bình thường (mới nhất) IntelliJ hiển thị các tùy chọn để chạy / gỡ lỗi trên mỗi bài kiểm tra nhưng nhấp vào nó chỉ hiển thị "Không có tác vụ khả dụng".
hardysim

Nó hoạt động trên một dự án mới (từ trình hướng dẫn "dự án mới" bằng cách sử dụng "Thư viện chia sẻ di động | Gradle") trên IntelliJ 2019.3.3. Nhưng việc mở cùng một dự án trong Android Studio 3.6 thì không ("Không có gì ở đây").
hardysim

0

Trong trường hợp của tôi, sự cố này xảy ra khi tôi cập nhật từ

  • Android Studio 3.5.3 và phiên bản plugin của Kotlin v1.3.50-release-Studio3.5-1

đến

  • Android Studio 3.6.3 với plugin Kotlin 1.3.71-release-Studio3.6-1

Tất cả các bài kiểm tra MPP phổ biến của Kotlin của tôi không chạy từ chức năng "xanh" dự kiến ​​của IDE và cũng hiển thị thông báo Không có gì ở đây .

Tôi đã thử một vài thứ, một trong số chúng là gỡ cài đặt đầy đủ và sau đó cài đặt nhưng dường như không có gì hoạt động.

Điều cuối cùng làm việc cho tôi là (với một số cảnh báo):

  • đã tạo một thử nghiệm mới (cũng hoạt động với các thử nghiệm hiện có, nhưng chỉ là một ví dụ)

ảnh 1

để đảm bảo Không có gì ở đây hiển thị.

Sau đó:

  • mở trình đơn thả xuống bên cạnh Trình mô phỏng đã chọn và nhấp vào Chỉnh sửa Cấu hình
  • trong Android JUnit, nhấp vào nút + để thêm cấu hình mới
  • Nó sẽ giống như thế này:

pic2

đảm bảo loại kiểm tra là Class và bạn có đường dẫn chính xác đến tệp. Ví dụ:

com.my.path.is.correct.MyNewTestCase

Ngoài ra, hãy chắc chắn rằng bạn có mô-đun chính xác cho Kotlin chung; trong trường hợp của tôi nó là phổ biến (không phải commonTest).

Sau phần trên, bạn sẽ có thể chạy lớp thử nghiệm từ nút Run chính (một lần nữa, bên cạnh danh sách thả xuống Trình mô phỏng) và thậm chí chạy nó dưới dạng Gỡ lỗi .

Nút chạy "xanh" bên cạnh chức năng vẫn sẽ không có gì ở đây ngoài việc thêm điểm dừng và chạy cấu hình mới từ nút Gỡ lỗi chính hoạt động với tôi:

nhập mô tả hình ảnh ở đây

Điều này rõ ràng là không hoàn hảo, nhưng đó là cách duy nhất để nó hoạt động từ IDE mà tôi có thể tìm thấy.

Hy vọng nó giúp!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.