REPL environment for teacher assignments
I have been teaching with Cocalc for a few years. It has most of the features you are looking for, but unless you are using python with nbgrader there is perhaps not much support for unit tests/autograding. It's not perfect but it gets the job done, with less frustration to me than trying to grade this stuff in Canvas. Also, I can rely on the simplicity of identical environments, no more babysitting each student's installation and worrying about Windows vs Mac setup, etc.
Cocalc allows the creation of &quot;courses&quot; where each student can receive &quot;Assignments&quot; and &quot;Handouts&quot; from the instructor. The students' projects are self-contained VMs and you can do a bit of central administration on them. They can use free ones, or upgrade for a small fee. You can do some LMS-type things there too, such as grade and comment on returned work. Here's a link to the Teaching documentation. There are a good amount of videos and blog posts put up by other enthusiasts as well.