The problem is your result object, which is a list.
library(testthat)
path <- testthat_example("success")
result<-test_file(path, reporter = "minimal")
str(result)
You need to convert it to a character stream before saving it using writeLines.
str(result)
List of 4
 $ :List of 7
  ..$ file   : chr "test-success.R"
  ..$ context: NULL
  ..$ test   : chr "one plus one is two"
  ..$ user   : num 0.006
  ..$ system : num 0
  ..$ real   : num 0.006
  ..$ results:List of 1
  .. ..$ :List of 6
  .. .. ..$ message    : chr "1 + 1 not equal to 2.\nEqual"
  .. .. ..$ srcref     : 'srcref' int [1:8] 2 3 2 24 3 24 2 2
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 32
  .. .. ..$ test       : chr "one plus one is two"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_success" "expectation" "condition"
 $ :List of 7
  ..$ file   : chr "test-success.R"
  ..$ context: NULL
  ..$ test   : chr "you can skip tests if needed"
  ..$ user   : num 0.003
  ..$ system : num 0
  ..$ real   : num 0.003
  ..$ results:List of 1
  .. ..$ :List of 6
  .. .. ..$ message    : chr "Reason: This tests hasn't been written yet"
  .. .. ..$ srcref     : 'srcref' int [1:8] 6 3 6 44 3 44 6 6
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 31
  .. .. ..$ test       : chr "you can skip tests if needed"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_skip" "expectation" "condition"
 $ :List of 7
  ..$ file   : chr "test-success.R"
  ..$ context: NULL
  ..$ test   : chr "some tests have warnings"
  ..$ user   : num 0.006
  ..$ system : num 0
  ..$ real   : num 0.007
  ..$ results:List of 2
  .. ..$ :List of 6
  .. .. ..$ message    : chr "NaNs produced"
  .. .. ..$ srcref     : 'srcref' int [1:8] 10 3 10 28 3 28 10 10
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 33
  .. .. ..$ test       : chr "some tests have warnings"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_warning" "expectation" "condition"
  .. ..$ :List of 6
  .. .. ..$ message    : chr "log(-1) not equal to NaN.\nEqual"
  .. .. ..$ srcref     : 'srcref' int [1:8] 10 3 10 28 3 28 10 10
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 32
  .. .. ..$ test       : chr "some tests have warnings"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_success" "expectation" "condition"
 $ :List of 7
  ..$ file   : chr "test-success.R"
  ..$ context: NULL
  ..$ test   : chr "some more successes just to pad things out"
  ..$ user   : num 0.003
  ..$ system : num 0
  ..$ real   : num 0.003
  ..$ results:List of 2
  .. ..$ :List of 6
  .. .. ..$ message    : chr "TRUE isn't true."
  .. .. ..$ srcref     : 'srcref' int [1:8] 14 3 14 19 3 19 14 14
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 32
  .. .. ..$ test       : chr "some more successes just to pad things out"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_success" "expectation" "condition"
  .. ..$ :List of 6
  .. .. ..$ message    : chr "FALSE isn't false."
  .. .. ..$ srcref     : 'srcref' int [1:8] 15 3 15 21 3 21 15 15
  .. .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x5589bd9e6a20> 
  .. .. ..$ trace      : NULL
  .. .. ..$ start_frame: int 31
  .. .. ..$ end_frame  : num 32
  .. .. ..$ test       : chr "some more successes just to pad things out"
  .. .. ..- attr(*, "class")= chr [1:3] "expectation_success" "expectation" "condition"
 - attr(*, "class")= chr "testthat_results"