Here's a slightly more succinct version inspired by code from this article http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
SELECT t1.col1,
(
SELECT
CASE WHEN ROW_NUMBER() OVER(ORDER BY col1, col2)=1 THEN '' ELSE ',' END + col2
FROM
TestTable
WHERE
col1 = t1.col1
ORDER BY
col1 ,col2
FOR XML PATH('')
)
FROM
TestTable t1
GROUP BY
col1