---
schema_version: "1"
id: e39665e83688697f9e573b4c737a927b3479fd879b62ee8bdf17f284b0001db4
title: Run Custom イベントプロセッサー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/munit/3.0/run-custom-event-processor.md
canonical_url: https://docs.mulesoft.com/jp/munit/3.0/run-custom-event-processor
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 1686ddefdc81e4d5b0e65933c00b56f51f96910357e9b556c4b0f73045c82d0d
description: MuleSoft Documentation Site
release: "3.0"
latest: false
---
# Run Custom イベントプロセッサー

**Run Custom イベントプロセッサー**​を使用すると、Mule イベントコンテンツをカスタムアサーションに対して確認できます。

**Run Custom プロセッサー**​をプロジェクトに追加するには、次の連動関係を ​`pom.xml`​ ファイルに追加します。

```xml
<dependency>
    <groupId>com.mulesoft.munit</groupId>
    <artifactId>munit-assert</artifactId>
    <version>${munit.version}</version>
    <scope>test</scope>
</dependency>
```

また、エクスポートされたリソースとしてカスタムアサーションクラスを ​`mule-artifact.json`​ ファイルに追加する必要もあります。

たとえば、Java で次のアサーションを定義できます。

```java
package org.mule.custom;
import org.mule.munit.assertion.api.MunitAssertion;
import org.mule.munit.assertion.api.TypedValue;

public class CustomAssertion implements MunitAssertion {

    @Override
    public void execute(TypedValue expression, Object params) throws AssertionError { (1)
        if (!"Hello World".equals(expression.getValue())) { (2)
            throw new AssertionError("Error the payload is incorrect");
        }
     }

}
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>インターフェースに 1 つのメソッドのみを実装します: <code>public void execute(TypedValue expression, Object params) throws AssertionError</code>​。</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>カスタムロジックを実行します。この場合は、メッセージペイロードが ​<code>Hello World</code>​ であることを検証します。</td></tr></tbody></table>

`CustomAssertion`​ クラスは scr/test/java ディレクトリにある必要があります。

また、​**Run Custom イベントプロセッサー**​を使用してこれを実行します。

```xml
<munit-tools:run-custom
  assertion="org.mule.custom.CustomAssertion" (1)
  expression="#[payload]"/>
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>アサーション項目にカスタムアサーションの正規クラス名が含まれていて、クラスがエクスポートされている必要があります。</td></tr></tbody></table>

アプリケーションをパッケージ化するときにクラスをエクスポートするには、​`org.mule.custom`​ パッケージを ​`mule-artifact.json`​ に追加します。

```json
{
    "name": "mule-application",
    "minMuleVersion": "4.2.0",
    "classLoaderModelLoaderDescriptor": {
        "id": "mule",
        "attributes": {
            "exportedPackages": [
                "org.mule.custom"
            ]
        }
    }
}
```

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">パッケージ名は ​<code>exportedPackages</code>​ コレクションでのみ設定する必要があります。</td></tr></tbody></table>

## [](#関連情報)関連情報

- [MUnit マッチャー](https://docs.mulesoft.com/jp/munit/3.0/munit-matchers)
- [Assert That イベントプロセッサー](https://docs.mulesoft.com/jp/munit/3.0/assertion-event-processor)
- [Set イベントプロセッサー](https://docs.mulesoft.com/jp/munit/3.0/set-event-processor)
- [Mock When イベントプロセッサー](https://docs.mulesoft.com/jp/munit/3.0/mock-event-processor)
- [Verify イベントプロセッサー](https://docs.mulesoft.com/jp/munit/3.0/verify-event-processor)
- [Fail イベントプロセッサー](https://docs.mulesoft.com/jp/munit/3.0/fail-event-processor)