我们的应用程序有两种产品版本,其中一种版本拥有一个其他版本没有的类(FlavorSpecificClass)。在src/test文件夹中,我们为FlavorSpecificClass编写了一个junit测试,但在核心变体上编译时,该测试无法通过,因为该类在该变体上不存在。
我找不到一种方式来针对不同变体编写单独的单元测试,除非我注释掉对FlavorSpecificClass的引用,否则代码将无法在核心变体中编译。我该如何解决这个问题?
我们的应用程序有两种产品版本,其中一种版本拥有一个其他版本没有的类(FlavorSpecificClass)。在src/test文件夹中,我们为FlavorSpecificClass编写了一个junit测试,但在核心变体上编译时,该测试无法通过,因为该类在该变体上不存在。
我找不到一种方式来针对不同变体编写单独的单元测试,除非我注释掉对FlavorSpecificClass的引用,否则代码将无法在核心变体中编译。我该如何解决这个问题?
假设您正在使用Gradle。
因此,您需要拥有另一个目录,该目录与您的“test”目录位于同一位置。将该目录命名为“test [BuildVariant]”,并在其中放置该构建变量的测试。
假设您已经建立了debug构建变量,如果您想测试仅在debug构建变量中的类,则您的目录结构将如下所示:
-debug/java/...
-main/java/...
-test/java/[your tests]
-testDebug/java/[your tests for build variant debug]