In recent years, many approaches have been developed to determine the order of tested classes in interclass integration test. However, existing approaches are inaccurate, as they ignore the influence of abstract classes and polymorphism. In this paper, we propose a test-level-based approach to deal with class-integration-test order, in which both abstract classes and polymorphism are taken into account. First, based on interclass dependence analysis, we develop an edge-removing algorithm to eliminate cycles caused by static and dynamic dependencies, taking abstract classes and polymorphism into account. Then, after eliminating cycles, we propose a class-integration-test order algorithm based on test levels, including static and dynamic test levels. In this algorithm, we take into account the fact of some test levels infeasible caused by the characteristic of abstract classes that they cannot be instantiated and offer corresponding adjustment strategy. Finally, we design and implement a test level order generator. The experimental results show that the proposed strategy needs less test stubs than the most typically graph-based approaches.