neow3j icon indicating copy to clipboard operation
neow3j copied to clipboard

Migrate devpack integration tests to the C# Testengine executable

Open csmuller opened this issue 5 years ago • 2 comments

The devpack and compiler currently use a Neo privatenet docker image to do integration tests for compiler and devpack functionality. The devpack-dotnet project now provides a Testengine executable which can also be used by other projects for testing compiled smart contracts against (see https://github.com/neo-project/neo-devpack-dotnet/pull/365).

Neow3j should migrate from the current testing infrastructure to this Testengine because it makes integration tests much more faster and the process of keeping the infrastructure up to date easier. No need to update any docker images to keep the tests up to date with the most recent state of Neo.

csmuller avatar Dec 14 '20 14:12 csmuller

We need to discuss whether this is a good idea or not.

Maybe it would be good to keep both ways: test directly with a docker image (with a real implementation of the Neo node), and the Testengine. What I feel is: the ultimate integration test would be always the ones running against a real neo-node instance.

However, I haven't investigated much about the specific details of the Testengine. If the Testengine implementation imports part of the neo-node core, then, yes, this could be beneficial and we could discard the neo-node docker image.

gsmachado avatar Dec 14 '20 21:12 gsmachado

Yes, if the test engine does not automatically update with updates to the neo-vm - or whatever parts of the neo core it uses - then this issue is not an option.

csmuller avatar Dec 15 '20 08:12 csmuller

The TestEngine executable seems to not have been created after all. Also, I'm pretty happy with our integration tests with the docker container, since they have to work without touching the Neo-core at all (can be cumbersome but ensures that things are really working).

csmuller avatar Jan 05 '24 19:01 csmuller