Skip to content

Conversation

nytian
Copy link
Contributor

@nytian nytian commented Oct 9, 2025

This PR Introduce a new api and package DurableTaskTestHost for customer to test their orchestrations in-process

  • DurableTaskTestHost: A wrapper around the gRPC Fixture that provides a simple API for testing orchestrations and activities in-process without external dependencies
  • DurableTaskTestHost.README.md: Doc explaining how to use the API
  • InProcessTestHost.Tests :test for this new added api and also samples.
  • ClassSyntaxIntegrationTests: Integration tests for class-based orchestrator and activity

@cgillum
Copy link
Member

cgillum commented Oct 10, 2025

Is the goal of this feature to ship it as a public package for other developers to use? If so, we should put this in its own project and make it into a nuget package. But let me know if that was the intention here, or if it's something different.

@nytian nytian marked this pull request as draft October 15, 2025 00:24
@nytian nytian marked this pull request as ready for review October 15, 2025 16:08
<AssemblyName>Microsoft.DurableTask.InProcessTestHost</AssemblyName>
<PackageId>Microsoft.DurableTask.InProcessTestHost</PackageId>
<EnableStyleCop>false</EnableStyleCop>
<NoWarn>$(NoWarn);CS1591</NoWarn>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this warning that we're supressing? Can we add a comment here to explain?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh it's just these moved files have so many format warnings... I tried to fix all but didn't finish. So, I just suppress it for now. But I will fix all of them ...

/// </summary>
public class ClassSyntaxIntegrationTests : IntegrationTestBase
{
public ClassSyntaxIntegrationTests(ITestOutputHelper output, GrpcSidecarFixture sidecarFixture)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the GrpcSidecarFixture using the new test host internally?

<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.DurableTask.Testing</RootNamespace>
<AssemblyName>Microsoft.DurableTask.InProcessTestHost</AssemblyName>
<PackageId>Microsoft.DurableTask.InProcessTestHost</PackageId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we have a separate versioning scheme for this package, and start it with 0.1.0-preview.1.

This is important for allowing us to make breaking changes while we stabilize it. Once we see that users are successfully adopting it, we can remove the preview suffix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants