if you are using JNGP and have some syntax error in your custom script/Jass code or you are using vJass code, it will require saving
Sometimes it bugs and when you hit test it will save it as/parse the code for you and so you can test it
That is, because JNGP disables the default compiler and runs JassHelper and pJass on the code, if you dont run it you will have map with .j which contains unreadable code for the Warcraft 3(vJass is converted to Jass when map is saved if you didnt know)
As long as you dont have any syntax errors and/or vJass in your map(you are doing terraining for instance), you should be fine and it should run normally