Version: 5.4

Assert

class in UnityEngine.Assertions

マニュアルに切り替える

説明

Assert クラスには、コード上に不変条件を設定するためのアサーションメソッドに含まれています。

All method calls will be conditionally included only in the development builds, unless explicitly specified (see BuildOptions.ForceEnableAssertions). The inclusion of the assertions is controlled by UNITY_ASSERTIONS define.

A failure of an assertion method does not break the control flow of the execution. On a failure, an assertion message is logged (LogType.Assert) and the execution continues. If Assert.raiseExceptions is set to true, an AssertionException is thrown instead of logging a message.

If a debugger is attached to the project (System.Diagnostics.Debugger.IsAttached is true), AssertionException will be thrown in order to pause the excecution and invoke the debugger.

For shorter and more readable syntax see Assertions.Must.MustExtensions.

public class ExampleClass : MonoBehaviour {
    public int health;
    public GameObject go;
    void Update () {
        //You expect the health never to be equal to zero 
        Assert.AreNotEqual(0, health);	

//The referenced GameObject should be always (in every frame) be active Assert.IsTrue(go.activeInHierarchy); } }

その他のアサーションシンタックスに関しては、Assertions.Must.MustExtensions を参照してください。

Static 変数

raiseExceptionsエラーについては、例外をスローします。

Static 関数

AreApproximatelyEqual値がほぼ等しいアサート。絶対誤差の確認は、ほぼ正確な等価の確認に使用されます( |a-b|<tolerance )。デフォルトの許容誤差は、0.00001f です。注記:指定された許容範囲でメソッドを呼出すたびに、新しい FloatComparer のインスタンスが作成されます。パフォーマンス上の理由により、2つのオブジェクトが等しいインスタンスかどうか比較したい場合は、AreEqual メソッドで行ってください。許容値が指定されていない場合、デフォルトの Comparer が使われ問題は発生しません。
AreEqual値が等しいアサート。comparer が指定されない場合、EqualityComparer<T>.デフォルトが使用されます。
AreNotApproximatelyEqual値が近似的に等価でないアサート。絶対誤差の確認は、ほぼ正確な等価の確認に使用されます( |a-b|<tolerance )。デフォルトの許容誤差は、0.00001f です。
AreNotEqual値が等しくないアサート
IsFalsefalse となる条件のアサート
IsNotNull値が null でないアサート
IsNull値が null であるアサート
IsTruetrue となる条件のアサート