There are two basic categories of migrants.
First, those who just want to get out of their own country. In such cases, they do not really have a loyalty to Canada per se.
Second, they searched for that beautiful land and settled on Canada as a place in which they will build their new home. They pledge their loyalty to this new land, find ways to contribute and enhance the economy of that land, contribute to social causes and through their positive actions, make their corner of Canada a little bit better by their presence.
For those belonging to the second category, a citizenship test is welcome. It helps them to know about the land, the history and the peoples. The culture. And above all, what it means to be a citizen of Canada.
My vote is 'yes' for the citizenship test.