我想将单元测试和espresso测试用例运行为特定的构建类型

时间:2018-04-26 15:11:38

标签: android unit-testing jenkins gradle android-espresso

我有一个多个falvoured和多个构建类型的项目..有一些espresso和单元测试用例成功运行但成功运行它我已经模拟了我的api响应,目前我在android studio中手动更改我的构建类型到交错和然后运行那些测试。现在我正在将我的项目与jenkins和jenkins集成,我的测试失败了因为jenkins正在运行所有构建类型的测试用例。所以很长的故事简短我希望我的测试用例只能使用staging构建类型运行..

2 个答案:

答案 0 :(得分:0)

Code-apprentice回答 在this问题上

如果要针对特定​​的构建类型运行测试,可以在文件夹名称中指定它:src / androidTestStaging或src / testStaging。您可以组合构建类型和flavor来运行特定的测试:src / androidTestTrialStaging或src / testFullDebug。

答案 1 :(得分:0)

android test support flavors and build type variants?中所述,您可以为特定风格创建from PIL import Image from tkFileDialog import askopenfilename import cv2 filename1 = askopenfilename(filetypes=[("image","*.png")]) filename2 = askopenfilename(filetypes=[("image","*.png")]) img=cv2.imread(filename1,1) background=cv2.imread(filename2,1) img_w, img_h =img.shape[:2] bg_w, bg_h = background.shape[:2] offset = ((bg_w - img_w) // 2, (bg_h - img_h) // 2) background.paste(img, offset) background.save('savedImg/output.png') public List<int[,]> Mutation(int[] RouletteWheel, List<int[,]> population) { double rndNumber1 = 0.0; int chrom1 = 0; int rndNumber2 = 0; Random rnd = new Random(); for (int i = 0; i < population.Count; i++) // For all Chromosomes { rndNumber1 = rnd.Next(0, 10) / 100; // generate a random number between 0 and 10 and divide result by 100 chrom1 = RouletteWheel[rnd.Next(0, 9)]; if (rndNumber1 <= Pm) /* check if we will do Crossover */ { rndNumber2 = rnd.Next(0, rows - 1); // determine the crossover point randomly by generating number between 0 and rows -1 for (int j = 0; j < rows - 1; j++) { for (int v = 0; v < columns - 1; v++) { if (j == rndNumber2) /* Mutate the cell that is equal to 1 */ { if (population[chrom1][j, v] == 0) { population[chrom1][j, v] = 1; } } } } } } return population; } 个文件夹。您还可以将其扩展为构建类型。 Gradle允许您为构建类型和风格的任何特定组合构建测试。

假设您有两种构建类型(androidTesttest)和两种类型(stagingdebug)。以下所有内容都是有效的文件夹名称:

  • trial - 针对full build
  • 的所有风格进行测试
  • src/androidTestStaging - 使用staging flavor
  • 测试所有版本
  • src/testFull - 仅full版本src/androidTestTrialDebug
  • 运行的测试
  • trial - 仅debug版本src/testFullStaging
  • 运行的测试

这些文件夹中的每一个都分别具有与fullstagins完全相同的目录结构。每个文件夹中的测试只针对由所有指定的构建类型和风格构建的构建运行。

请注意,这可能会迅速爆炸成很多组合。例如,如果您有3种构建类型和2种风味尺寸,每种尺寸有3种风格,那么现在有27种不同的构建。维护每个测试都可能是一场噩梦,所以你仍然应该遵循标准的软件工程实践来编写可以尽可能重用的测试和辅助类和函数。