Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Kotlin MPP中测试共享代码或iOS代码是否有类似于Mockito的框架?_Ios_Unit Testing_Kotlin_Mockito_Kotlin Multiplatform - Fatal编程技术网

在Kotlin MPP中测试共享代码或iOS代码是否有类似于Mockito的框架?

在Kotlin MPP中测试共享代码或iOS代码是否有类似于Mockito的框架?,ios,unit-testing,kotlin,mockito,kotlin-multiplatform,Ios,Unit Testing,Kotlin,Mockito,Kotlin Multiplatform,我想在Kotlin多平台项目的公共测试代码中使用Mockito.verify()。Kotlin MPP是否有类似于Mockito的框架?您可以在Kotlin中使用UIKit 你可以在这里找到官方的例子 互操作测试 language = Objective-C package = platform.XCTest headers = XCTest/XCTest.h headerFilter = XCTest/** 然后您可以使用XTest编写这样的代码 import pla

我想在Kotlin多平台项目的公共测试代码中使用Mockito.verify()。Kotlin MPP是否有类似于Mockito的框架?

您可以在Kotlin中使用
UIKit

你可以在这里找到官方的例子

互操作测试

  language = Objective-C
  package = platform.XCTest
  headers = XCTest/XCTest.h

  headerFilter = XCTest/**
然后您可以使用XTest编写这样的代码

  import platform.XCTest.XCTWaiter
  import platform.XCTest.XCTestExpectation
  .....
  .....
  XCTWaiter().waitForExpectations( ..... )

对于模拟库,简短的回答是否定的。有一些关于添加JS支持的讨论,我也看到了一些关于Native的讨论,但我很确定这两个方面都没有进展。

您是否在不使用JVM的情况下使用kotlin Native?我正在评估kotlin多平台项目(MPP),看看是否可以将此架构应用到我的个人项目中,我想知道如何编写用于测试的共享代码。在这一点上,我只需要一个用于Android和iOS的代码。JS现在不是优先考虑的。那么,如何为Android和iOS的共享代码编写测试呢?似乎测试代码暂时无法共享。特别是,我想Android的检测测试不能与iOS共享。没有一个通用的单元测试框架完全认可您的要求,您最终将创建外部化脚本,如测试自动化,这可能不会被视为单元测试,您可以使用基于反射的方法,但从专业角度来看,这看起来很糟糕,因为你不能用普通代码的模拟框架来模拟类。您可以使用接口并创建假实现。如果需要一个功能完全的运行时模拟库,您将有困难,但在Swift中这也不是一件真正的事情。有一些代码生成器,但Swift中没有Mockito等价物(出于同样的原因)。不确定您希望共享哪种仪器测试。用一个例子更容易讨论。总之,现在完全可以共享测试,但您不能以相同的方式完成所有工作。