Comments (8)
We concluded that https://github.com/PrismarineJS/mineflayer is the way to go here! The (future) "test" then doesn't need Java, nor TestContainers, nor JBang - we'll just add 1 line to ./test
which launches node run mineflayer
(or whatever). (Later split off a new ./start
[only] called by ./test
.)
from minecraft-storeys-maker.
#348 made a start for this. What's left:
- Run Mineflayer test on CI, instead of just running
Dockerfile
for each PR; see #355 et al. - factor out a
start
&stop
fromtest
- moar tests (if possible?)
from minecraft-storeys-maker.
-
doesn't seem that important anymore (to me)
-
is what we should still do ASAP... the current test just makes sure a Minecraft user can login, but doesn't actually test any of our plugin's functionality; the current test as-is would still pass as long as the server started, even if our plugin was completely broken. The goal here should be to automate at least some sort of subset of what we are describing in our Testing doc.
from minecraft-storeys-maker.
@edewit I just thought about this again... especially with #375 now done, which will then enable #382, it would be REALLY cool if we could slightly beef up our Mineflyer based test to do something a bit more interesting than only login - anything that could test our plugin loaded and works. That could give us the confidence among other things e.g. to approve Dependabot PRs, among other things, if we see them pass the build, once that includes a more useful real test. If showing title and make entities narrate isn't something that we can easily test with Mineflyer, then let's add whatever else is needed to our test JS and/or Java that we can actually really test with Mineflyer? Have a go at it if you are up for it! 😸
from minecraft-storeys-maker.
Having entries narrate in a mineflyer test is not possible, but we would be able to get the chat, so let me add that
from minecraft-storeys-maker.
@edewit with #389 merged, shall we say that fixed this, and close this issue now?
Or can / should we do more here? You asked if we could make the Mineflayer Player OP so that /say
works - but do we need that? Now that we have #389, are we missing anything useful? Remember we looked at that a few weeks ago, but because we don't know the UUID that Mineflayer uses, we couldn't find an easy way to add it to the OPS list in ./test
.
from minecraft-storeys-maker.
Right let's close this even though it doesn't test if 'say' gets executed it does test if the scripts work as it see the title being displayed. The only thing for fully e2e test would be if we test if an upload and reload would also succeed
from minecraft-storeys-maker.
#400 adds additional coverage.
from minecraft-storeys-maker.
Related Issues (20)
- Resolve all Dependabot alerts HOT 2
- Story DSL ending with text without newline makes parser get stuck HOT 3
- Add Checkstyle for common code format conventions HOT 7
- Use exclusion instead of inclusion in shadowJar
- currently `./test` script is broken HOT 5
- Error: Invalid or corrupt jarfile spongevanilla-1.12.2-7.3.1-RC391.jar HOT 2
- ConcurrentModificationException at aQute.bnd.osgi.Jar.putResource(Jar.java:335)
- Run build entirely in container, without depending on local tools (but still cache output)
- Commands are not always correctly unregistered, because Blockly UI saves the "same project" under different IDs? Or error handling bug?
- Isolate ClassLoader HOT 1
- Hot reloading Java plugins HOT 1
- Minecraft server should be able to load JS & Java (JAR) from a server URL running e.g. in a GitHub Codespace HOT 2
- ReferenceError: "m" is not defined HOT 4
- Mineflayer test failures get "stuck" (Jest did not exit one second after the test run has completed.) HOT 5
- On Join Error HOT 2
- Node.js 17.x is no longer actively supported!
- Reload existing Blocky script/workspace when user re-connects HOT 2
- Automatically Merge Dependabot's Pull Requests
- Upgrade from Java 8 to Java 17, Minecraft from 1.12 to 1.19.3, and Sponge from 7.4 to 10.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minecraft-storeys-maker.