# Temporal activity unit test

**URL:** <https://community.temporal.io/t/temporal-activity-unit-test/9049>\
**Category:** Community Support\
**Tags:** go-sdk\
**Created:** [August 1, 2023, 10:41pm UTC](https://community.temporal.io/t/temporal-activity-unit-test/9049 "2023-08-01T22:41:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rey](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/rey/32/3690_2.png) [@rey](https://community.temporal.io/u/rey)\
**Post date:** [August 1, 2023, 10:41pm UTC](https://community.temporal.io/t/temporal-activity-unit-test/9049/1 "2023-08-01T22:41:20Z")

</div>

I’m writing unit tests for a workflow with an activity, the mock activity always returns error of type internal.ActivityError ([https://github.com/temporalio/sdk-go/blob/30c8ca297514dae65f8b7003489f67cdef7180ac/internal/error.go#L199](https://github.com/temporalio/sdk-go/blob/30c8ca297514dae65f8b7003489f67cdef7180ac/internal/error.go#L199))

MyActivity(ctx context.Context) (string, error)

In unit test:  
myErr := errors.New(“some error”)  
env.OnActivity(MyActivity, ctx).  
Return(“”, myErr)

but it always returns ActivityError instead of myErr in the test. Do I have to setup the test in a different way?

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [August 2, 2023, 1:39am UTC](https://community.temporal.io/t/temporal-activity-unit-test/9049/2 "2023-08-02T01:39:16Z")

</div>

Any error returned from an activity is converted to an ApplicationError and then wrapped in an ActivityError.
