3737 stu = NewStudent ().WithUser (username , password )
3838)
3939
40+ // isCI returns true when running in a CI environment (e.g., GitHub Actions).
41+ // Sensitive output is suppressed in CI to avoid leaking personal data in logs.
42+ func isCI () bool {
43+ return os .Getenv ("CI" ) != "" || os .Getenv ("GITHUB_ACTIONS" ) != ""
44+ }
45+
4046func login () error {
4147 err := stu .Login ()
4248 if err != nil {
@@ -104,21 +110,25 @@ func Test_GetCourse(t *testing.T) {
104110}
105111
106112func Test_GetInfo (t * testing.T ) {
107- _ , err := stu .GetInfo ()
113+ info , err := stu .GetInfo ()
108114 if err != nil {
109115 t .Error (err )
110116 }
111117
112- // 不允许输出个人信息
118+ if ! isCI () {
119+ fmt .Println (utils .PrintStruct (info ))
120+ }
113121}
114122
115123func Test_GetMarks (t * testing.T ) {
116- _ , err := stu .GetMarks ()
124+ marks , err := stu .GetMarks ()
117125 if err != nil {
118126 t .Error (err )
119127 }
120128
121- // 不允许输出成绩
129+ if ! isCI () {
130+ fmt .Println (utils .PrintStruct (marks ))
131+ }
122132}
123133
124134// 使用并发后似乎快了1s
@@ -133,7 +143,6 @@ func Test_GetQiShanEmptyRoom(t *testing.T) {
133143 t .Error (err )
134144 }
135145
136- // 此处可以输出空教室信息
137146 fmt .Println (utils .PrintStruct (rooms ))
138147}
139148
@@ -148,7 +157,6 @@ func Test_GetJinJiangEmptyRoom(t *testing.T) {
148157 t .Error (err )
149158 }
150159
151- // 此处可以输出空教室信息
152160 fmt .Println (utils .PrintStruct (rooms ))
153161}
154162
@@ -163,7 +171,6 @@ func Test_GetTongPanEmptyRoom(t *testing.T) {
163171 t .Error (err )
164172 }
165173
166- // 此处可以输出空教室信息
167174 fmt .Println (utils .PrintStruct (rooms ))
168175}
169176
@@ -178,7 +185,6 @@ func Test_GetQuanGangEmptyRoom(t *testing.T) {
178185 t .Error (err )
179186 }
180187
181- // 此处可以输出空教室信息
182188 fmt .Println (utils .PrintStruct (rooms ))
183189}
184190
@@ -193,7 +199,6 @@ func Test_GetYiShanEmptyRoom(t *testing.T) {
193199 t .Error (err )
194200 }
195201
196- // 此处可以输出空教室信息
197202 fmt .Println (utils .PrintStruct (rooms ))
198203}
199204
@@ -208,7 +213,6 @@ func Test_GetXiaMenEmptyRoom(t *testing.T) {
208213 t .Error (err )
209214 }
210215
211- // 此处可以输出空教室信息
212216 fmt .Println (utils .PrintStruct (rooms ))
213217}
214218
@@ -218,7 +222,6 @@ func Test_GetSchoolCalendar(t *testing.T) {
218222 t .Error (err )
219223 }
220224
221- // 此处可以输出校历信息
222225 fmt .Println (utils .PrintStruct (calendar ))
223226}
224227
@@ -233,50 +236,60 @@ func Test_GetTermEvents(t *testing.T) {
233236 t .Error (err )
234237 }
235238
236- // 此处可以输出学期信息
237239 fmt .Println (utils .PrintStruct (events ))
238240}
239241
240242func Test_GetCredit (t * testing.T ) {
241- _ , err := stu .GetCredit ()
243+ credit , err := stu .GetCredit ()
242244 if err != nil {
243245 t .Error (err )
244246 }
245247
246- // 不允许输出学分信息
248+ if ! isCI () {
249+ fmt .Println (utils .PrintStruct (credit ))
250+ }
247251}
248252
249253func Test_GetGPA (t * testing.T ) {
250- _ , err := stu .GetGPA ()
254+ gpa , err := stu .GetGPA ()
251255 if err != nil {
252256 t .Error (err )
253257 }
254258
255- // 不允许输出 GPA 信息
259+ if ! isCI () {
260+ fmt .Println (utils .PrintStruct (gpa ))
261+ }
256262}
257263
258264func TestGetUnifiedExam (t * testing.T ) {
259- _ , err := stu .GetCET ()
265+ cet , err := stu .GetCET ()
260266 if err != nil {
261267 t .Error (err )
262268 }
263269
264- _ , err = stu .GetJS ()
270+ js , err : = stu .GetJS ()
265271 if err != nil {
266272 t .Error (err )
267273 }
268274
269- // 不允许输出考试成绩信息
275+ if ! isCI () {
276+ fmt .Println (utils .PrintStruct (cet ))
277+ fmt .Println (utils .PrintStruct (js ))
278+ }
270279}
271280
272281// 考场信息
273282func TestGetExamRoomInfo (t * testing.T ) {
274- _ , err := stu .GetExamRoom (ExamRoomReq {
283+ rooms , err := stu .GetExamRoom (ExamRoomReq {
275284 Term : "202401" ,
276285 })
277286 if err != nil {
278287 t .Error (err )
279288 }
289+
290+ if ! isCI () {
291+ fmt .Println (utils .PrintStruct (rooms ))
292+ }
280293}
281294
282295func TestGetNoticesInfo (t * testing.T ) {
@@ -321,7 +334,10 @@ func TestGetCultivatePlan(t *testing.T) {
321334 if err != nil {
322335 t .Error (err )
323336 }
324- fmt .Println (url )
337+
338+ if ! isCI () {
339+ fmt .Println (url )
340+ }
325341}
326342
327343func TestGetLocateDate (t * testing.T ) {
@@ -333,10 +349,14 @@ func TestGetLocateDate(t *testing.T) {
333349}
334350
335351func TestGetLectures (t * testing.T ) {
336- _ , err := stu .GetLectures ()
352+ lectures , err := stu .GetLectures ()
337353 if err != nil {
338354 t .Error (err )
339355 }
356+
357+ if ! isCI () {
358+ fmt .Println (utils .PrintStruct (lectures ))
359+ }
340360}
341361
342362func TestApplyAdjustRules (t * testing.T ) {
0 commit comments