版本: Unity 6 (6000.0)
语言英语
  • C#

Coverage.GetStatsFor

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每个建议,并在适当情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static TestTools.CoveredMethodStats GetStatsFor(MethodBase method);

参数

method 要获取覆盖统计信息的 method。

返回值

CoveredMethodStats 覆盖摘要。

描述

返回指定 method 的覆盖摘要。有关此 method 返回的覆盖统计信息的更多信息,请参阅 CoveredMethodStats

using UnityEngine;
using UnityEngine.TestTools;
using System.Reflection;

public class CoverageClass { // A simple test method to get coverage information from. // If the method is called with incrementValue set to true, // the method will have complete coverage. If incrementValue // is false, the coverage will be incomplete. public int CoveredMethod(bool incrementValue) { int value = 0; if (incrementValue) { value++; }

return value; } }

public class CoverageExample : MonoBehaviour { void Start() { // Create an instance of the test class and call the test method // to make sure the method has had some coverage. Note in this example, // we're passing false into the method to make sure the coverage // is incomplete. CoverageClass coverageClasss = new CoverageClass(); int value = coverageClasss.CoveredMethod(false);

// Use reflection to get the MethodBase for CoverageClass.CoveredMethod MethodBase coveredMethodBase = typeof(CoverageClass).GetMethod("CoveredMethod"); // And get the coverage stats for the method. CoveredMethodStats stats = Coverage.GetStatsFor(coveredMethodBase);

Debug.Log("CoveredMethod has " + stats.totalSequencePoints + " sequence points"); int coveredSequencePoints = stats.totalSequencePoints - stats.uncoveredSequencePoints; Debug.Log("of which " + coveredSequencePoints + " were covered."); } }

声明

public static CoveredMethodStats[] GetStatsFor(MethodBase[] methods);

参数

methods method 数组。

返回值

CoveredMethodStats[] 覆盖摘要数组。

描述

返回指定 method 数组的覆盖摘要数组。

using UnityEngine;
using UnityEngine.TestTools;
using System.Reflection;
using System;

// A simple test class to get coverage information for. public class CoverageClass { public bool CoveredMethod1() { return true; }

public bool CoveredMethod2() { return false; } }

public class CoverageExample : MonoBehaviour { void Start() { // Create an instance of the test class and call the test methods // to make sure the class has had some coverage. CoverageClass coverageClasss = new CoverageClass(); coverageClasss.CoveredMethod1(); coverageClasss.CoveredMethod2();

// Get the Type of the CoverageClass Type coverageClassType = typeof(CoverageClass);

// Use reflection to get an array of MethodBases for the two methods // in CoverageClass. MethodBase[] coveredMethodBaseArray = { coverageClassType.GetMethod("CoveredMethod1"), coverageClassType.GetMethod("CoveredMethod2") };

// And get the coverage stats for the methods. CoveredMethodStats[] stats = Coverage.GetStatsFor(coveredMethodBaseArray);

for (int i = 0; i < stats.Length; i++) { Debug.Log("Method Name: " + stats[i].method.ToString()); Debug.Log("Method has " + stats[i].totalSequencePoints + " sequence points"); int coveredSequencePoints = stats[i].totalSequencePoints - stats[i].uncoveredSequencePoints; Debug.Log("of which " + coveredSequencePoints + " were covered."); } } }

声明

public static CoveredMethodStats[] GetStatsFor(Type type);

参数

type 类型。

返回值

CoveredMethodStats[] 覆盖摘要数组。

描述

返回指定类型的覆盖摘要数组。

using UnityEngine;
using UnityEngine.TestTools;
using System;

// A simple test class to get coverage information for. public class CoverageClass { public bool CoveredMethod1() { return true; }

public bool CoveredMethod2() { return false; } }

public class CoverageExample : MonoBehaviour { void Start() { // Create an instance of the test class and call the test methods // to make sure the class has had some coverage. CoverageClass coverageClasss = new CoverageClass(); coverageClasss.CoveredMethod1(); coverageClasss.CoveredMethod2();

// Get the Type of the CoverageClass Type coverageClassType = typeof(CoverageClass); // And get the coverage stats for all of the methods of the type. // Note that this will include class's default constructor. CoveredMethodStats[] stats = Coverage.GetStatsFor(coverageClassType);

for (int i = 0; i < stats.Length; i++) { Debug.Log("Method Name: " + stats[i].method.ToString()); Debug.Log("Method has " + stats[i].totalSequencePoints + " sequence points"); int coveredSequencePoints = stats[i].totalSequencePoints - stats[i].uncoveredSequencePoints; Debug.Log("of which " + coveredSequencePoints + " were covered."); } } }