akka / akka/akka-http

Decide and document how to test actors that interact with HTTP or TCP

Open
#199 1 comment 0 reactions 0 assignees View on GitHub
1 - triaged
Dominant language
Scala
Stars
1.4k
Forks
584
Avg merge
14h 33m
Merged PRs (30d)
24

Description

**Issue by [rkuhn](https://github.com/rkuhn)**
_Tuesday Dec 09, 2014 at 13:05 GMT_
_Originally opened as https://github.com/akka/akka/issues/16493_

---

Code using `StreamTcp().connect(...)` and friends can currently not be mocked, it will always perform TCP connections. This may or may not be a problem depending on how we want to tell users that they shall test their actors:
- No mocking means that you’ll test exactly what is used in production, but it requires all such tests to be end-to-end.
- Being able to reroute the API towards TestProbes or similar means that the test can be kept shorter, with less boiler-plate code and without the need to create a communication partner just for the test procedure.

Contributor guide

Open the contributing guide

Research direction

Start by examining code that uses StreamTcp().connect(...) and the current actor-testing guidance. Compare end-to-end testing with rerouting the API to TestProbes or similar, then document the chosen approach and what users should test.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
backend-api-design, testing
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.