We present a model-based testing approach for reactive systems where both test inputs and expected results are generated from ‘restricted’ Event-B specifications. We show that it is possible to automatically build the restricted Event-B specifications from the original ones base on a knowledge base of the system under tests. The restricted models are to reduce the state space of the original Event-B models while preserving the possible testing paths, so that our model-based generated test suite can archive equivalent path coverage as using the original models. We also present a tool and a testing skeleton that are easy to use so that system developers can effectively test an arbitrary number of scenarios with reactive systems.