• Because you need to run it as Dynamic SQL, using the EXEC command:

    EXEC(N'SELECT * FROM #Test1 WHERE Test_Text IN (' + @P1 + ')');

    What you have is SQL probably attempting to find a match to the entire varchar ''xyz','tln','tprq'', not three seperate values.